我确实创建了一个指令,在页面仍在加载时在整个页面上设置一个加载指示符(微调器)。我的指令只有一个参数:是否应该显示微调器:<div class="app-container" [busy]=!pageLoaded>
在我的app组件中,我在构造函数中完成了以下操作:
this.pageLoaded = false
router.subscribe((routeName: String) => {
/* Other stuff */
this.pageLoaded= true
})
每次路由器更改时(每个页面从一个页面到另一个页面),都会调用此router.subscribe。唯一的问题是,我的pageLoaded
将保持其真正的价值。如何在不触发busy
指令的情况下将其设置为false?
答案 0 :(得分:0)
我通常做的事情:路线变化非常快。我假设你想为路线做一些解决(数据获取),对吧?所以在这种情况下我创建了一个http处理程序,它在请求启动时增加本地计数器,并在请求结束/失败时减少它。虽然计数器是gt 0 show loader。
在特殊情况下,如果您不想显示加载程序,我通常会将其作为配置提供给请求对象,并根据此设置决定如何处理计数器。
此致