与Yeoman一起使用多个角度控制器

时间:2014-02-19 21:17:26

标签: angularjs yeoman

我正在使用Yeoman在Angular中构建练习应用程序。我正在尝试将控制器保存在单独的文件中。

然而,当进入我的“注册”路线时,它会在Chrome开发工具中引发错误:

"Error: [ng:areq] Argument 'RegisterCtrl' is not a function, got undefined http://errors.angularjs.org/1.2.6/ng/areq?p0=RegisterCtrl&p1=not%20aNaNunction%2C%20got%20undefined"

即使它抛出错误,我仍然可以访问注册页面并查看“hello world”内容。

我看过:

但是,尽管尝试了一些他们的建议,但它们都没有帮助解决我的问题。

目前,我的应用程序布局为:

app   
...
--scripts  
---controllers  
-----main.js  
-----register.js
---app.js
...

当我将register.js的内容移动到Main.js中时,它不再抛出错误。

App.js看起来像这样:

angular.module('angYeomanApp', [
'ngCookies',  
'ngResource',  
'ngSanitize',  
'ngRoute',  
'ui.bootstrap'  
 ])  
   .config(function ($routeProvider) {
     $routeProvider
       .when('/', {
         templateUrl: 'views/main.html',
         controller: 'MainCtrl'
        })
       .when('/register', {
         templateUrl: 'views/register.html',
         controller: 'RegisterCtrl'
       })
       .otherwise({
         redirectTo: '/'
       });
    });

Main.js:

angular.module('angYeomanApp')
  .controller('MainCtrl', function ($scope) {

});

Register.js:

angular.module('angYeomanApp')
  .controller("RegisterCtrl", function ($scope) {

});

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:7)

是否从index.html引用了register.js?