我可以在ncyBreadcrumb中拥有动态父级吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我可以在ncyBreadcrumb中拥有动态父级吗?相关的知识,希望对你有一定的参考价值。

这是我的index.route.js,我希望我的父属性是动态的,就像用户点击它时,它应该在更改状态之前显示确认提示。

.state('user.edit', {
  url: '/{id}/edit',
  params: {
    id: {value: 'new'}
  },
  templateUrl: 'app/user.html',
  controller: 'EditUserController',
  controllerAs: 'vm',
  ncyBreadcrumb: {
    label: 'Add/Edit User',
    parent: 'user.list'  //(this one i want dynamic)
  }
})

请帮我。

答案

您需要收听$stateChangeStart事件,并在用户选择取消时阻止它。在你的控制器中:

vm.$on('$stateChangeStart', 
function(event, toState, toParams, fromState, fromParams, options){ 
    console.log(event, toState, toParams, fromState, fromParams, options); // Here you can see what parameters are passed to the event callback function
    if( !confirm('are you sure?') ) {
        event.preventDefault(); 
    }
});

顺便说一句 - vm$scope - 不知道你如何在你的控制器中引用它。

您还可以将它绑定到应用程序的$rootScope阶段中的run() - 这样您就可以在全局级别上检测状态更改,而不仅仅是在特定状态内。你将使用toState.name知道你要去哪个州和fromState.name知道你要离开的国家的名字。

以上是关于我可以在ncyBreadcrumb中拥有动态父级吗?的主要内容,如果未能解决你的问题,请参考以下文章

我应该在每个拥有父级的实体上添加一个所有者组件吗?

我可以通过 props.children React JS 将道具传递给孩子吗

将动态插槽从父级传递到子级到孙子级

oracle sql中的动态列

js点击事件

PMP认证分等级吗?