angular.module从单独的文件调用,找不到Controller

时间:2017-01-17 10:51:37

标签: javascript angularjs module angularjs-controller controllers

我正在尝试模块化我的代码并将控制器移动到使用相同模块的单独文件中。但是,它没有加载,我确保加载顺序是正确的。

// app.js
angular.module("app", []);

// LoginCtrl.js
angular.module("app", []).controller("LoginCtrl", function() 
{
  //doSomeThing
});

如果我在第一个文件中执行var app = angular.module并在其他文件中使用相同的变量,则它可以正常工作。

// app.js
var app = angular.module("app", []);

// LoginCtrl.js
app.controller("LoginCtrl", function() 
{
  //doSomeThing
});

如果我将所有代码移动到一个文件中并分别对每个组件使用angular.module,它就可以工作。

// app.js
angular.module("app", []);

angular.module("app", []).controller("LoginCtrl", function() 
{
  //doSomeThing
});

我错过了什么吗?

3 个答案:

答案 0 :(得分:5)

在AngularJS中创建模块:
angular.module('app', []);

获取AngularJS中的模块:
angular.module('app');

在代码中使用相同的签名来创建和获取模块,在将模块放入另一个文件时,不得将注入数组添加为模块函数的第二个参数。

答案 1 :(得分:0)

首先,控制器中只能有一个模块。这是一个示例var app = angular.module(' myApp',[]).controller(' Controllername',function(){};

答案 2 :(得分:-1)

在对代码进行模块化之后,将其写入LoginCtrl.js文件中:

var app = angular.module("app");
app.controller("LoginCtrl", function() {
...