3

我已经ng-include使用ng-view. 我还在对用户进行身份验证,并预取任何控制器和视图所需的几乎所有数据route.resolve

问题是用户导航部分是使用ng-show="currentUser"指令显示的,因此当用户登录并currentUser设置时,会显示导航部分,但新视图仍在等待显示,直到所有数据都被获取route.resolve。用户退出时也会发生同样的情况 - 导航栏被隐藏,并且在用户被重定向之前仍然显示旧视图并显示退出用户的页面。

有没有办法以某种方式“链接”(重新)渲染主视图(ng-view)和该视图的部分外部?我唯一的另一个想法是将ng-include加载导航栏的指令移动到每个模板中,这很烦人。

4

1 回答 1

2

我会利用ng-view( $viewContentLoaded, 发出的, 见这里) 和$route服务 ( $routeChangeSuccess, 广播的, 见这里) 触发的事件。

用户导航部分的控制器必须设置一个标志来控制 UI 的可见性,具体取决于相应事件的到达模型的状态(currentUser可能)。

于 2013-12-01T20:08:40.030 回答