0
在Ember 2.5中实现加载画面的最佳方式是什么?我想要实现的是:显示启动画面 - >在后台加载数据 - >当DOM准备好时,隐藏启动画面。Ember JS实现启动画面/加载启动画面
我尝试了几个选项,但是我无法在文档准备就绪时隐藏启动画面。我正在加载一个大型表格,所以完成DOM需要一些时间,因此模型就绪并不是正确的方法。
在Ember 2.5中实现加载画面的最佳方式是什么?我想要实现的是:显示启动画面 - >在后台加载数据 - >当DOM准备好时,隐藏启动画面。Ember JS实现启动画面/加载启动画面
我尝试了几个选项,但是我无法在文档准备就绪时隐藏启动画面。我正在加载一个大型表格,所以完成DOM需要一些时间,因此模型就绪并不是正确的方法。
我这样做是通过添加自定义HTML(简单的加载DIV)到应用程序/ index.html的:
<body>
<div class="loading-overlay" id="initialLoading"></div>
{{content-for "body"}}
<script src="assets/vendor.js"></script>
<script src="assets/event.js"></script>
{{content-for "body-footer"}}
</body>
然后添加以下到我的应用程序/应用/ route.js:
actions: {
loading(transition/* , originRoute*/) {
let controller = this.get('controller');
if(controller) {
controller.set('currentlyLoading', true);
}
transition.promise.finally(function() {
$("#initialLoading").remove();
if(controller) {
controller.set('currentlyLoading', false);
}
});
}
}
在我的应用程序/应用/ template.hbs我还必须添加加载DIV:
{{#if currentlyLoading}}
<div class="loading-overlay"></div>
{{/if}}
那么,是什么情况?
我希望它有帮助。
谢谢,完美无缺!以下是关于此的一些文档:https://guides.emberjs.com/v2.5.0/routing/loading-and-error-substates/ – Lopo