我是AngularJS的新手,每次遵循教程并添加外部模块时都会遇到问题。我对如何避免注射错误有一些疑问。
Q1。如何解决喷油器/模块问题?我使用bower来安装'ngSanitize',包含在HTML中:
<body ...>
<script src="assets/js/angular.min.js"></script>
<script src="bower_components/ngSanitize/index.js" type="text/javascript"></script>
</body>
Q2。如果添加模块的顺序会影响结果,是否有NetBeans插件或在线应用程序检查模块依赖性,以便按顺序添加它们?
Q3。最后,在没有进样器/模块化器的情况下将外部模块注入AngularJS单页面应用程序的正确步骤是什么?
原件:
angular.module('app', [
'ngRoute',
'ngAnimate',
'angularMoment',
'angular-preload-image',
'truncate',
'app.core'
]);
目标情况会引发'ngSanitize'的注入错误:
angular.module('app', [
'ngRoute',
'ngSanitize',
'ngAnimate',
'angularMoment',
'angular-preload-image',
'truncate',
'app.core'
]);
The displayed error that crashes the application loading
我使用angularjs.org/1.4.8得到了同样的错误。
答案 0 :(得分:0)
我认为主要问题是使用特定的ngSanitize。
您应该使用:bower install angular-sanitize
而不是bower install ngSanitize
安装它。
尽管与同一事物有关,ngSanitize
是根据它的回购说明:
angular-sanitize模块,不包括用于Backbone和的angular.js 其他框架
正如您所看到的,它们属于不同的回购:
angular-sanitize: https://github.com/angular/bower-angular-sanitize
ngSanitize: https://github.com/gdi2290/ngSanitize
HTML中的脚本加载非常重要。我总是首先插入jQuery
,然后插入angular
,然后插入角度特定模块,如(angular-animate
,angular-sanitize
等),然后插入自定义角度模块脚本。
关于Q3,我不认为你搞砸了模块注入。它只是因为使用ngSanitize
而不是angular-sanitize
而显示错误。