【发布时间】:2016-02-11 04:40:09
【问题描述】:
我正在使用 ui-router 并且有带有视图的嵌套状态。我目前让我的控制器运行了两次,因为它在 app.js 文件和ng-controller 中声明。我需要在 html 文件中设置ng-controller,因为我的嵌套状态中有动态视图,每个视图都有不同的控制器。
这是我的 app.js 文件
.state('index.region', {
url: 'region',
templateUrl: 'views/region.html',
controller: 'RegionCtrl'
})
.state('index.region.detail', {
url: '/:regionId',
params: {
detail: 'overview'
},
views: {
'detail@index' : {
templateUrl: function($stateParams) {
if($stateParams.detail === 'info' || $stateParams.regionId) {
return 'views/regionInfo.html';
} else if ($stateParams.detail === 'overview') {
return 'views/regionOverview.html';
}
}
}
},
})
views/regionOverview.html的HTML
<div ng-controller="RegionCtrl">
views/regionInfo.html的HTML
<div ng-controller="RegionInfoCtrl">
【问题讨论】:
标签: javascript html angularjs angular-ui-router