我有一条路线可以查询1000条记录(通过ember-data)并显示它们。
一开始这个查询在route#model
,我有一个加载覆盖页面,所以整个页面将在模型钩子承诺完成后真正显示出来。
现在我在同一页面上有一个搜索框,它可以查询任何记录但是它正在查询另一个端点,所以它不需要等待模型钩子完成。
由于该搜索框不依赖于模型,我想立即使用该搜索框。我将查询代码移到模型钩子之外,并在fetchData
中发送view#didInsertElement
动作,它将在路由中调用相应的动作,执行findQuery
并将响应存储到控制器。因此页面会立即显示该搜索框,并开始获取数据。
问题是,在获取数据时,整个UI停止。我无法在搜索框中输入任何内容,仍然需要等待某些内容,这违背了我原来的目标。
有谁知道为什么会发生这种情况以及如何解决这个问题?我正在使用以下版本的Ember。 (不是最新的,我知道)
DEBUG: Ember : 1.7.1
DEBUG: Ember Data: 1.0.0-beta.7+canary.b45e23ba
DEBUG: Handlebars: 1.3.0
DEBUG: jQuery : 1.11.2