我在app.js中有这个代码,并且工作正常。我想将每个控制器放在一个不同的文件中,但是如果将控制器放在其他文件中。我收到了消息:参数'visorController'不是函数,未定义
angular.module('appVisorMapa', [
'ngCookies', // Cookies
'ui.bootstrap', // AngularUI Botstrap
'ui.router', // Routing
'ngRoute' // Routing
])
.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise("/login");
$stateProvider
.state("/login", {
url: "/login",
templateUrl: "views/login.html",
controller: "loginCtrl"
})
.state("/dashboard", {
url: "/dashboard",
templateUrl: "views/dashboard.html",
controller: "visorController"
})
})
.controller('visorController', function($scope) {
console.log("controller it's Ok");
})
这是我将控制器放在其他文件中的方式。我知道这是错的,但我不明白如何宣布它。我介意为什么我需要制作一个新模块?
angular.module('visor',[])
.controller('visorController', function($scope) {
console.log("controller it's Ok");
});
我将新文件添加到我的index.html但不起作用。
我不明白如何在单独的文件中声明控制器。为什么不识别我的控制器或者正确的方法是什么。
我对angujarJs如何组织模块和控制器感到困惑。
提前致谢。
答案 0 :(得分:3)
在这两个文件中,您使用了两个不同的模块名称angular.module('visor',[])
和angular.module('appVisorMapa', [])
由于两者都属于同一个模块,因此必须使用getter来获取前一个模块。
angular.module('appVisorMapa')
.controller('visorController', function($scope) {
console.log("controller it's Ok");
});