我试过了
/app/routes/loading.hbs
/app/pods/loading/template.hbs
/app/pods/loading.hbs
/app/pods/application/loading/template.hbs
/app/pods/application/loading.hbs
/app/templates/loading.hbs
/app/templates/application-loading.hbs
以上都不起作用。
我将它添加到我的应用程序路由中并且它可以工作,但它仅呈现应用程序模板中的微调器,而不是当前路由的适当导出。
//app/pods/application/template.hbs
{{#if isLoading}}
<i class="fa fa-spinner fa-pulse fa-5x"></i>
{{/if}}
//app/pods/application/route.js
actions: {
loading(transition, originRoute) {
let controller = this.controllerFor('application');
controller.set('isLoading', true);
transition.promise.finally(function() {
controller.set('isLoading', false);
});
}
}
我究竟做错了什么?为什么模板不渲染?我正在使用 ember-cli@2.4.2 和 ember@2.4.1。
最佳答案
也在这方面苦苦挣扎,帕特里克的回答有很大帮助,但根据该线程调用 super 也无济于事。删除加载操作确实有帮助,但根本原因实际上不是因为有加载操作。您可以保留加载操作,但为了让加载模板呈现,您需要 return true;
从加载操作中,如果您不返回 true,则不会呈现加载模板。
我的猜测是,如果您不返回 true,则事件将停止传播,从而防止发生默认行为
关于ember.js - Ember 加载模板从不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36346518/