我在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");
});
我将新文件添加到索引中.html但不起作用。我不明白如何在单独的文件中声明控制器。为什么不认识我的控制器或正确的制作方法。我对angujarJs如何组织模块和控制器感到困惑。
提前谢谢。
在这两个文件中,您都使用两个不同的模块名称angular.module('visor',[])
和angular.module('appVisorMapa', [])
由于两者都属于同一模块,因此您必须使用 getter 来获取前一个模块。
angular.module('appVisorMapa')
.controller('visorController', function($scope) {
console.log("controller it's Ok");
});