Angular JS与Jquery冲突

时间:2015-03-11 11:09:33

标签: jquery angularjs angularjs-directive widget

我正在使用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

任何机构都对此问题有任何想法?

1 个答案:

答案 0 :(得分:2)

在创建模块之前,ng-app的顺序似乎是一个问题。 手动引导而不是添加ng-app属性可能更好/更可靠:

angular.bootstrap(document, ['myWidgetApp'])

通过这种方式,您可以控制引导程序何时发生,这应该只在加载完所有内容后(在scriptLoadHandler中)

这是工作的plunkr:http://plnkr.co/edit/DKlh5S1ZisxIwluXeJ38?p=preview