让我们说我想模块化我的控制器及其视图是一个凉亭组件。我的想法是,我想在此模块上定义路由以响应' / login'网址。
var routes = [
{
"key": "aes",
"value": {
"abstract": true,
"url": "",
"templateUrl": "modules/logincliente/views/common-layout.html",
"controller": "commonLayoutController as commonLayoutC"
}
},
{
"key": "aes.loginCliente",
"value": {
"url": "/login",
"views": {
"content": {
"controller": "LoginClienteController as loginClienteC",
"templateUrl": "modules/logincliente/views/loginCliente.html"
}
}
}
}
];
所以当我将这个模块导入我的应用程序时,它应该有效吗?现在我的应用程序说aes.loginCliente状态不存在。
答案 0 :(得分:0)
是的,它应该有效,但你必须在$stateProvider
注册你的状态。
如果你想在"核心"中定义abstract
状态,它可能不适用于抽象状态。模块在外部加载后。
尝试这样的事情:
// this module can be loaded externally, before the other one
angular.module('aes.loginClient', [])
.config(function($stateProvider){
$stateProvider.state('login', {
url: "/login",
"controller": "LoginClienteController as loginClienteC",
"templateUrl": "modules/logincliente/views/loginCliente.html"
});
});
angular.module('aes', ['aes.loginClient'])
.config(function($stateProvider){
$stateProvider.state('home', {
url: "/",
templateUrl: "modules/home/views/home.html",
controller: "commonLayoutController as commonLayoutC"
});
});