我正在尝试使用angular-breadcrumb和ui-router创建动态面包屑 . 特别是,我想将我的状态的parent breadcrumb链接绑定到模型变量,由控制器异步设置 . 覆盖父状态的angular-breadcrumb gives the following example的API参考:
$stateProvider.state('product.detail', {
url: '/{productId}',
views: [...],
ncyBreadcrumb: {
parent: 'category.list({cat: "product"})'
}
})
然后我尝试用子控制器中异步设置的东西(在一些服务承诺解析之后)替换此示例中的硬编码“产品”,顺序如下:
$stateProvider.state('product.detail', {
url: '/product/:id',
controller: 'ProductController',
controllerAs: 'vm',
ncyBreadcrumb: {
label: 'Product',
parent: 'category.list({cat: vm.category})'
}
})
...
ProductController.$inject = ['DataLookupService'];
function ProductController(DataLookupService) {
var vm = this;
DataLookupService.get(...).$promise.then(function(data) {
vm.category = data.some_category_id;
});
...
}
但是,这只会根据vm.category当前的值(通常是未定义的)设置一次ncyBreadcrumb.parent,并且不会创建绑定以更新ncyBreadcrumb.parent,因为vm.category异步更改 .
人们可以想出一种方法来实现这一点,即异步设置父级吗?