我正在尝试使用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异步更改 .

人们可以想出一种方法来实现这一点,即异步设置父级吗?