我正在尝试使用 new named substate options 为应用程序路由创建加载子状态最近添加,但由于某种原因,我无法让它工作。本来,我只是创建了一个简单的模板,loading.hbs
,它会自动工作,但由于应用程序路由上的子状态问题,我的一些 UI 仍然可见。我现在想纠正这个。
我尝试重命名模板并将其移动到以下位置:
/templates/application_loading.hbs
/templates/application-loading.hbs
/templates/application/loading.hbs
似乎没有一个工作。我不需要任何自定义路由行为,因此默认生成的路由应该对我有用,除非它需要这样做。关于此功能的文档似乎很少。我找到了 jsbin for this feature除非 ember-cli 有问题,否则我应该按照它正确地做。
感谢您提供任何帮助。
DEBUG: -------------------------------
DEBUG: Ember : 1.11.1
DEBUG: Ember Data : 1.0.0-beta.16.1
DEBUG: jQuery : 1.11.2
DEBUG: -------------------------------
最佳答案
我相信loading.hbs
和 error.hbs
是应用程序的加载和错误子状态。您的 application-loading.hbs
Ember 不存在,这就是它不起作用的原因。
至于额外的UI元素:我相信其余的application.hbs
无论如何都会渲染,所以我唯一的建议是将所有这些元素嵌套更深一层。这听起来像是一个很大的考验,但实际上并没有那么糟糕:
在 router.js
:
this.resource('whatever', {path: '/'} function() {
// All your existing routes
});
然后重命名
application.hbs
至 whatever.hbs
并更改 application.hbs
只需 {{outlet}}
在里面。这在实践中应该真的改变很少,但它会阻止你的 UI 元素的其余部分呈现,直到加载完成。
关于ember.js - 为应用路线创建装载基材,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29973694/