我正在重新开发一个网站,它有一个非常嵌套的界面,需要多个子视图。想想一个购物网站,包括分页,结果和过滤器。我想做的是为后面的所有子视图呈现默认内容,同时从后端解析结果。但是,我找不到在第一个<ui-view>
之后插入默认内容的方法,这当然是有道理的。
为了解决这个问题,我们目前在子状态控制器中使用$broadcast
。我们将resolve
事件中的分辨率移出到控制器中,该控制器正在工作,但要求我们使所有指令也使用$broadcast
,否则它们不起作用,因为数据不是'他们之前加载。对于这个问题,它似乎也是一个非常不优雅的解决方案。
奇怪的是,当我将resolve
函数移动到子视图中时,父结果或它的兄弟视图都不会在结果子视图加载之前加载。我无法理解,虽然我可以理解儿童观点在父母被解决之前没有加载。
我们有办法解决这个问题吗?在广播中构建我们代码库的所有方面似乎是一种非常糟糕的做法。有没有办法在解析父级之前显示子级默认内容,甚至在实例化控制器之前呈现子级状态的视图?
答案 0 :(得分:0)
使用ng-cloak类:
https://docs.angularjs.org/api/ng/directive/ngCloak
ngCloak指令用于防止浏览器在加载应用程序时以原始(未编译)形式短暂显示Angular html模板。使用此指令可避免由html模板显示引起的不良闪烁效应。