0

如何让组件路由等待数据才能执行控制器并呈现视图。类似于和。resolve_ngRouteui-router

文档有这个:

Angular 组件路由器

这只等待 url 更改,例如:

//Old url
http://localhost/#/

// wait the promise (eg 1s) and then change the url to
http://localhost/#/heroes

但是点击链接后立即改变了视图,然后改变了url,太奇怪了!

这不会阻止视图渲染或控制器执行(显然)。

这种情况的演示:

代码和预览:plunkr.co (点击英雄)

有一个类似的问题没有答案:Angular 1.5.x Component Router Resolve

4

1 回答 1

2

我找到了一个解决方案:

这应该在组件定义中配置:

.component('myComponent', {
    templateUrl: './my-compnent.html',
    controller: MyComponentCtrl,
    $canActivate: function($nextInstruction, $prevInstruction) {
      return Promise.resolve(<true or false>);
    }
})
于 2016-09-06T23:24:57.503 回答