我目前正在开发一个应用程序,在某些时候我们有一个具有多个内部视图的状态,每个视图都有自己的控制器并解析。此视图上的某些控制器是相同的,但解析的值可能不同。为了说明并更清楚,这是一个示例配置:
$stateProvider.state('dashboard', {
url: '/dashboard',
views: {
'@': {
templateUrl: 'dashboard.html',
controller: 'DashboardController'
},
'a@dashboard': {
templateUrl: 'partial-a-dashboard.html',
controller: 'InnerDashboardController',
resolve: {
dep: function() {
return 1;
}
}
},
'b@dashboard': {
templateUrl: 'partial-b-dashboard.html',
controller: 'SomeOtherDashboardController'
},
'c@dashboard': {
templateUrl: 'partial-c-dashboard.html',
controller: 'InnerDashboardController',
resolve: {
dep: function() {
return 2;
}
}
}
}
};
现在这适用于ui-router 0.X但是我正在尝试将其迁移到1.X并且我看到不再支持每个视图的解析,而是我应该将解析对象移动到状态本身..问题来自'InnerDashboardController'。如果你看到它在2个内部视图中使用,它需要一个名为'dep'的属性,但是每个视图都将它解析为不同(视图中的控制器实例将dep为1,而c将使其为2)
最好的方法是更新它以使其在新的ui路由器上运行?我是否需要重命名控制器并使用不同的解析属性?还有其他可用的解决方法吗?