我正在使用Angular开发一个小部件。
我有一个index.html
文件和script.js
文件。从index.html我添加了script.js
文件。
scripts.js
文件正在检查Angular是否已加载。如果未加载Angular,则会将最新的Angular.min.js
(尝试过的1.3.14版本)动态附加到head标记。在Angular加载成功后,我创建了像angular.module("widgetApp", [])
这样的角度模块。这很好。
但是,如果我在jQuery
之前的index.html中包含了script.js
js(尝试过< 2和> 2版本)文件,那么它会从角度库中产生脚本错误。
这是我收到的错误:Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.12/$injector/modulerr?p0=myWidgetApp&p1=Err…gleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.12%2Fangular.min.js%3A17%3A381)
。
我为此问题创建了一个plunker:http://plnkr.co/edit/JHDrGakpuLWpfeauUs1V?p=preview
任何机构都对此问题有任何想法?
答案 0 :(得分:2)
在创建模块之前,ng-app
的顺序似乎是一个问题。
手动引导而不是添加ng-app
属性可能更好/更可靠:
angular.bootstrap(document, ['myWidgetApp'])
通过这种方式,您可以控制引导程序何时发生,这应该只在加载完所有内容后(在scriptLoadHandler
中)
这是工作的plunkr:http://plnkr.co/edit/DKlh5S1ZisxIwluXeJ38?p=preview