Angular UI + UI 路由器:如何继承已解决的状态
Angular UI + UI Router: How to inherit Resolved states
我有一个父状态和 3 个子状态。父状态使用对象(名为 'data')中的承诺和 returns 解析数据检索数据,因此控制器和视图可以访问它。一些子状态还需要解析的父数据来定义它们自己的对象命名数据。但似乎当从兄弟状态转换时,它们的解析永远不会达到(相应状态定义中的断点永远不会被击中)。
简而言之:当从状态'settings.account.person'转移到兄弟状态'settings.account.password'时,我希望执行resolve语句。目前完全没有被击中...
州:
.state('settings.account', {
url: '/account'
,resolve: {
menu: ['menu','MenuService', function (menu,MenuService) {
return MenuService.retrieveSubMenuByParentUrl(menu,'/settings/account');
}],
account: ['UserManagementService',function(UserManagementService) {
return UserManagementService.account();
}],
data: ['menu',function (menu) {
return {menu:menu};
}]
}
,views: {
'setting@settings': {
templateUrl: '/app/components/settings/account/views/tabpanel.html'
,controller: 'AccountController'
}
}
})
.state('settings.account.person', {
url: '/person',
resolve: {
languages: ['APIService',function(APIService) {
return APIService.call(AppConfig.API_ENDPOINTS.language);
}],
data: ['menu','account','languages',function(menu,account,languages){
return {
menu: menu,
account: account,
languages: languages
};
}]
}
,views: {
'tabContent@settings.account': {
templateUrl: '/app/components/settings/account/views/person.html'
,controller: 'AccountController'
}
}
})
.state('settings.account.password', {
url: '/password'
,data: ['account',function(account){
return {
account: account
};
}]
,views: {
'tabContent@settings.account': {
templateUrl: '/app/components/settings/account/views/password.html'
,controller: 'AccountController'
}
}
})
.state('settings.account.delete', {
url: '/delete'
,data: ['account',function(account){
return {
id: account.id
};
}]
,views: {
'tabContent@settings.account': {
templateUrl: '/app/components/settings/account/views/deleteAccount.html'
,controller: 'AccountController'
}
}
})
哎呀..我看到在状态 'settings.account.password' 和 'settings.account.delete' 我忘记了一半的解析块....难怪它没有被击中。
我有一个父状态和 3 个子状态。父状态使用对象(名为 'data')中的承诺和 returns 解析数据检索数据,因此控制器和视图可以访问它。一些子状态还需要解析的父数据来定义它们自己的对象命名数据。但似乎当从兄弟状态转换时,它们的解析永远不会达到(相应状态定义中的断点永远不会被击中)。
简而言之:当从状态'settings.account.person'转移到兄弟状态'settings.account.password'时,我希望执行resolve语句。目前完全没有被击中...
州:
.state('settings.account', {
url: '/account'
,resolve: {
menu: ['menu','MenuService', function (menu,MenuService) {
return MenuService.retrieveSubMenuByParentUrl(menu,'/settings/account');
}],
account: ['UserManagementService',function(UserManagementService) {
return UserManagementService.account();
}],
data: ['menu',function (menu) {
return {menu:menu};
}]
}
,views: {
'setting@settings': {
templateUrl: '/app/components/settings/account/views/tabpanel.html'
,controller: 'AccountController'
}
}
})
.state('settings.account.person', {
url: '/person',
resolve: {
languages: ['APIService',function(APIService) {
return APIService.call(AppConfig.API_ENDPOINTS.language);
}],
data: ['menu','account','languages',function(menu,account,languages){
return {
menu: menu,
account: account,
languages: languages
};
}]
}
,views: {
'tabContent@settings.account': {
templateUrl: '/app/components/settings/account/views/person.html'
,controller: 'AccountController'
}
}
})
.state('settings.account.password', {
url: '/password'
,data: ['account',function(account){
return {
account: account
};
}]
,views: {
'tabContent@settings.account': {
templateUrl: '/app/components/settings/account/views/password.html'
,controller: 'AccountController'
}
}
})
.state('settings.account.delete', {
url: '/delete'
,data: ['account',function(account){
return {
id: account.id
};
}]
,views: {
'tabContent@settings.account': {
templateUrl: '/app/components/settings/account/views/deleteAccount.html'
,controller: 'AccountController'
}
}
})
哎呀..我看到在状态 'settings.account.password' 和 'settings.account.delete' 我忘记了一半的解析块....难怪它没有被击中。