是否有一种方法可以仅在渲染ng视图时在ng视图之外渲染视图



我在使用ng-view之外的ng-include加载的部分中获得了用户导航。我还对用户进行身份验证,并在route.resolve中预取任何控制器和视图所需的几乎所有数据。

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

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

我将使用ng-view$viewContentLoaded,已发射,请参阅此处)和$route服务($routeChangeSuccess,已广播,请参阅这里)触发的事件。

用户导航部分的控制器必须设置一个标志,根据适当事件的到来和模型的状态来控制UI的可见性(可能是currentUser)。

最新更新