我正在开发一个AngularJS应用程序。我已经完成了很多工作,但尝试使用 ui-router 和 uiBreadcrumbs 实现解决方案时遇到了困难。所以问题来了,我如何实现一个可以很好地与放大配合的分辨率,就像实现控制器一样?为了简洁起见,我在下面包含了 uiBreadcrumbs 的示例代码。查看最后一个状态 home.userList.detail。
angular.module('yourModule').config(function($stateProvider) {
$stateProvider
.state('home', {
url: '/',
views: {
'content@': {
templateUrl: ...
}
},
data: {
displayName: 'Home'
}
})
.state('home.usersList', {
url: 'users/',
views: {
'content@': {
templateUrl: ...
}
},
data: {
displayName: 'Users'
}
})
.state('home.userList.detail', {
url: ':id',
views: {
'content@': {
templateUrl: ...
}
},
data: {
displayName: '{{ user.firstName }} {{ user.lastName | uppercase }}'
}
resolve: {
user : function($stateParams, userService) {
return userService.getUser($stateParams.id);
}
}
});
将
函数包装在数组对象中,就像控制器一样:
resolve: {
user : [
'$stateParams', 'userService',
function($stateParams, userService) {
return userService.getUser($stateParams.id);
}
]
}