我正在使用Angular开发一个小部件。
我有一个index.html
文件和script.js
文件。从索引中.html我包含了script.js
文件。
scripts.js
文件正在检查 Angular 是否已加载。如果未加载 Angular,则最新Angular.min.js
(尝试 1.3.14 版本)将动态附加到 head 标签中。在角负载成功后,我创建了像angular.module("widgetApp", [])
这样的角度模块。这工作正常。
但是,如果我在 script.js
之前从索引中包含jQuery
js(尝试<2 和>2 版本)文件.html那么它会从角度库中产生脚本错误。
这是我得到的错误: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
有人对这个问题有任何想法吗?
创建模块之前,应用ng-app
顺序似乎是问题。手动引导而不是添加 ng-app
属性可能更好/更可靠:
angular.bootstrap(document, ['myWidgetApp'])
通过这种方式,您可以控制引导程序何时发生,这应该仅在加载所有内容之后(以scriptLoadHandler
为单位)
这是工作 plunkr: http://plnkr.co/edit/DKlh5S1ZisxIwluXeJ38?p=preview