答案 0 :(得分:1)
我已经在GitHub上发布了一项功能请求,以防我是第一个需要此方案的人 - 或者同时针对此问题没有合适的解决方案: github.com/angular-ui/ui-router/issues/1014
总之, 我通过循环遍历父状态并将静态子状态附加到它们来管理此问题,而不是手动定义它们:
angular.forEach(states, function(stateOptions,stateName) {
$stateProvider.state(stateName, stateOptions.options);
if (stateOptions.defaultState){
var dealStateName = stateName+'.deals';
console.log(dealStateName);
$stateProvider.state(dealStateName,{
url: (stateName=='parent.dashboard') ? "deals/:dealId" : "/deals/:dealId",
views:{
'fsItem@parent':{
templateUrl: "/static/html/fsItems/dealNewD.html",
controller: 'dealCtrl',
}
}
});
}
});
答案 1 :(得分:0)
问题不是很清楚,但听起来你想要一个在路线变化之间持续存在的状态变量。我建议使用factory or service。看看Sharing a Variable Between Controllers in AngularJS。