EmberJS 3.4
我正在从后端加载项目实体,这需要花费几秒钟的时间。现在,我想在加载过程中显示一个微调器。
如上所述,我创建了一个project-loading.hbs(也尝试了load.hbs)https://guides.emberjs.com/release/routing/loading-and-error-substates/
项目模型类:
Example 2
尽管加载实体需要花费时间,但加载模板似乎未呈现/未显示。我做错什么了吗?
答案 0 :(得分:0)
对于名为project
(routes/project.js
)的路由,加载模板应称为project-loading.hbs
。
我克隆了您的项目,并通过添加templates/project-loading.hbs
,向您的sleep(30)
端点添加/api/projects/:name
调用并转到类似{ {1}}。
在内部转换为路由时是否存在问题(例如,将http://localhost:4200/projects/hallo
或transitionTo
帮助程序用于模型)还是手动输入URL?请注意,过渡到路线并在模型上下文中传递时,不会执行{{link-to}}
挂钩(请参见https://guides.emberjs.com/v3.4.0/routing/specifying-a-routes-model/)。
答案 1 :(得分:-1)
我最终将以下代码添加到了应用程序适配器中:
// not very ember way of doing this, but quite simple :)
$(document).ajaxStart(() => {
$('#spinner').removeClass('hide');
});
$(document).ajaxStop(() => {
$('#spinner').addClass('hide');
});
我真的更喜欢用余烬方式。就目前而言,这似乎可以解决问题。
对于感兴趣的人,这是完整的项目:https://github.com/puzzle/mailbox-watcher/tree/master/frontend