【问题标题】:AngularJS ngDialog errorAngularJS ngDialog 错误
【发布时间】:2015-07-12 13:54:15
【问题描述】:

我已将 ngDialog 添加到我的 angularjs 应用程序中,并将其注入我的模块后,这就是我得到的:

未捕获的错误:不匹配的匿名 define() 模块:函数 (a){"use strict";var b=a.module("ngDialog",[]),c=a.element,d=a.isDefined, e=(document.body||document.documentElement).style,f=d(e.animation)||d(e.WebkitAnimation)||d(e.MozAnimation)||d(e.MsAnimation)||d (e.OAnimation),g="animationend webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend",h="a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not ([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]",i=!1,j={},k=[],l=! 1;return b.provider("ngDialog",function(){var b=this.defaults={className:"ngdialog-theme-default",plain:!1,showClose:!0,closeByDocument:!0,closeByEscape: !0,closeByNavigation:!1,appendTo:!1,preCloseCallback:!1,overlay:!0,cache:!0,trapFocus:!0,preserveFocus:!0,ariaAuto:!0,ariaRole:null,ariaLabelledById:null ,ariaLabelledBySelec

这个错误的原因是什么?是否需要修改 ngDialog.js 代码?

添加信息: 在 module.js 中注入:

var app = angular.module('myApp', ['...', ...., 'ngDialog']);

*** 当我像这样在控制器中注入 ngdialog 时:

app.controller('myController', ['$scope','$http','ngDialog', function ($scope,$http,ngDialog) { ... 

这是我得到的错误:

Error: [$injector:unpr] Unknown provider: ngDialogProvider <- ngDialog <- inventoryController

【问题讨论】:

    标签: angularjs ng-dialog


    【解决方案1】:

    我猜你正在使用 RequireJS?

    来自他们的common errors page

    • 确保通过 RequireJS API 加载所有调用 define() 的脚本。不要在 HTML 中手动编写脚本标记来加载其中包含 define() 调用的脚本。
    • 如果您手动编写 HTML 脚本标记,请确保它仅包含命名模块,并且不会加载与该文件中的某个模块同名的匿名模块。
    • 如果问题是使用加载器插件或匿名模块,但 RequireJS 优化器未用于文件捆绑,请使用 RequireJS 优化器。
    • 如果问题是 var define lint 方法,请改用 /*global define */(“global”之前没有空格)注释样式。

    如果您发布一些有关如何引用 ngDialog 的代码,那么也许我可以提供更多帮助。

    【讨论】:

    • 好吧,你是对的,我正在使用 RequireJS 并且有一些硬编码尝试,因为我失去了希望。我删除了它们,现在没有错误,但仍然没有定义 ngDialog @Buh Buh
    • 好的,很好。发布您创建模块的位置的代码。还有使用 ngDialog 的控制器的代码。
    • 好吧,稍等一下我想添加一些东西@Buh Buh,这就是我要做的:我有一个库列表,我要添加到我的应用程序中......然后我正在循环它们将它们全部缩小到一个大文件中......所以结果是一个包含所有库的文件好吗?之后,我将这个大 js 文件包含在索引中,例如
    • 是的,这听起来不错,只要单独的文件在大文件中的顺序仍然正确。你需要先加载 angular.js,然后是 ngDialog,然后是你自己的模块。
    • 但是你的顺序是什么意思?按照什么顺序?
    猜你喜欢
    • 1970-01-01
    • 2017-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-12
    • 1970-01-01
    • 2015-12-10
    • 1970-01-01
    相关资源
    最近更新 更多