我有一个相当小的角度JS应用程序,它工作得很好,但我想添加一些依赖项,例如bootstrap.ui。这是我的模块的开始,这很棒!
angular.module('awesomefeed')
.controller('MainCtrl', function ($scope, $http) {
但是当我添加依赖项时,视图停止工作,并且永远不会调用控制器(使用调试器进行检查)。
angular.module('awesomefeed',['ui.bootstrap'])
.controller('MainCtrl', function ($scope, $http) {
即使存在空依赖关系,问题仍然存在。
angular.module('awesomefeed',[])
.controller('MainCtrl', function ($scope, $http) {
我找到了一些教程,他们都建议这应该有效,我使用严格模式我不知道是否会影响这个。
编辑:我解决了这个问题,因为George Stocker指出回购会随着时间的推移而改变所以我将在这里用适用于未来参考的代码来描述我的修复。我在两个地方调用angular.module,首先是在app.js中,也是在controllers / main.js文件中。这些电话看起来像这样:
//file:app.js
angular.module('awesomefeed', [
'ngCookies',
'ngResource',
'ngSanitize',
'ngRoute'
]).config(function ($routeProvider) {
和
//file:controllers/main.js
angular.module('awesomefeed')
.controller('MainCtrl', function ($scope, $http) {
我想添加另一个依赖项,所以我将['ui.bootstrap']添加到/controller/main.js中的模块调用中,我没有意识到创建和检索模块之间的区别。 (AngularJS docs creation and retrieval of a module)。 Main.js检索已经创建的angular.module('awesomefeed'),但当我将依赖列表添加到调用时,它停止了对已经存在的angular.module('awesomefeed')的调用,而是成为一个创建调用用新创建的几乎空的angular.module('awesomefeed',['ui.bootstrap'])覆盖angular.module('awesomefeed')。
解决方案是将依赖项添加到app.js中创建调用的依赖项列表中。
答案 0 :(得分:4)
假设您的代码在该链接中是最新的,看起来您正在引用 scripts / app.js 和 scripts / controllers / main.js 。< / p>
这两个似乎都添加了模块&#34; awesomefeed&#34;。我猜这是问题所在。