缩小后无法解析$元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了缩小后无法解析$元素相关的知识,希望对你有一定的参考价值。

我有一个奇怪的错误,只有在karaf中运行我的web应用程序时才出现,但不会出现在webpack-dev-server上。当我打开对话框时从Karaf运行Web应用程序时,我在浏览器控制台中收到此错误

angular.js:14516 Error: [$injector:unpr] Unknown provider: nProvider <- n

Caxspoi $ Injector / Transformer on%20%3c-%20n

该组件负责显示表。列应该是可编辑的,所以我已经从角度材料演示中实现了一个库存对话框。请参阅 - > http://errors.angularjs.org/1.6.3/和带有搜索选项的多选 - > https://material.angularjs.org/latest/demo/dialog

以下是代码:

https://material.angularjs.org/latest/demo/select

我使用$ element作为上述评论中详述的原因。我无法理解的是,这在web pack dev服务器上工作正常。 Web包的设置之间的唯一区别是:

    ctrl.editColumns = (event) => {
      $mdDialog.show({
        template: require('./edit-column-dialog.template.html'),
        clickOutsideToClose: true,
        scope: $scope,
        preserveScope: true,
        controller: EditColumnsDialogController
      })
    }

    function EditColumnsDialogController ($element) {
      ctrl.searchTerm = ''
      ctrl.copySelectedColumns = ctrl.selectedColumns

      // The md-select directive eats keydown events for some quick select
      // logic. Since we have a search input here, we don't need that logic.
      $element.find('input').on('keydown', (ev) => {
        ev.stopPropagation()
      })
    }

任何答案都非常感谢..或建议隔离问题!

答案

Minifiers破坏了使用// Add build specific plugins if (isProd) { config.plugins.push( // Only emit files when there are no errors new webpack.NoEmitOnErrorsPlugin(), // Minify all javascript, switch loaders to minimizing mode new webpack.optimize.UglifyJsPlugin({ sourceMap: true }), // Copy assets from the public folder // Reference: https://github.com/kevlened/copy-webpack-plugin new CopyWebpackPlugin([{ from: path.join(__dirname, '/app/public') }]) )} 的代码。相反,使用Implicit Annotation

$inject Property Annotation

来自Docs:

Implicit Annotation

小心:如果您打算使用 //USE $inject property annotation EditColumnsDialogController.$inject = ["$element"]; function EditColumnsDialogController ($element) { ctrl.searchTerm = '' ctrl.copySelectedColumns = ctrl.selectedColumns // The md-select directive eats keydown events for some quick select // logic. Since we have a search input here, we don't need that logic. $element.find('input').on('keydown', (ev) => { ev.stopPropagation() }) } 代码,您的服务名称将被重命名并破坏您的应用程序。

minify

以上是关于缩小后无法解析$元素的主要内容,如果未能解决你的问题,请参考以下文章

无法解析片段中的 findViewById [重复]

无法解析片段中的 ViewModelProvider 构造?

从流输入中解析没有根元素的 XML 片段列表

片段(Java) | 机试题+算法思路+考点+代码解析 2023

在活动中添加/替换后,片段的所有元素都为空

无法在片段中解析方法'recreate()'