emberjs用findRecord加载微调器

时间:2018-11-07 07:24:05

标签: ember.js promise ember-data

EmberJS 3.4

我正在从后端加载项目实体,这需要花费几秒钟的时间。现在,我想在加载过程中显示一个微调器。

如上所述,我创建了一个project-loading.hbs(也尝试了load.hbs)https://guides.emberjs.com/release/routing/loading-and-error-substates/

项目模型类:

Example 2

尽管加载实体需要花费时间,但加载模板似乎未呈现/未显示。我做错什么了吗?

2 个答案:

答案 0 :(得分:0)

对于名为projectroutes/project.js)的路由,加载模板应称为project-loading.hbs

我克隆了您的项目,并通过添加templates/project-loading.hbs,向您的sleep(30)端点添加/api/projects/:name调用并转到类似{ {1}}。

在内部转换为路由时是否存在问题(例如,将http://localhost:4200/projects/hallotransitionTo帮助程序用于模型)还是手动输入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