0

是否可以将 Ember 中的存储绑定到模板,以便在将新对象送到存储时更新模板?
例如:
~ route.js

App.PostsRoute = Em.Route.extend(
  model: ->
    this.store.findAll('post')
)

~ 模板.hbs

{{#each post in controller}}
    {{title} <br />
{{/each}}

~ 控制器.js

App.SomeController = Em.Controller.extend(
  actions:
    add_new: ->
      this.store.createRecord('post', {title: 'new post'})
)

我不想从控制器显式更新模板。
我正在使用 Ember 1.1.2和 Ember-Data 1.0.0.beta3

4

2 回答 2

1

从 findAll 切换到 find,并使用 all 作为过滤器。

App.PostsRoute = Em.Route.extend(
  model: ->
    this.store.find('post') // find has to be called once for the all filter to work
    return this.store.all('post')
)

顺便说一句,我不是咖啡脚本专家,所以这是对语法的猜测。

于 2013-10-27T18:39:25.220 回答
0

读完这篇文章后我明白了(http://emberjs.com/guides/models/frequently-asked-questions/

带有查询的 store.find 不会在推送时更新。
store.filter将。

文章解释得很好。

于 2013-10-27T19:37:41.663 回答