Ember.js 0.9.5在使用视图助手时没有更新

Cal*_*vin 1 ember.js

0.9.3Ember.js的版本中,我可以这样做:

Item = Ember.Object.Extend({
  title: 'A cool item',
  subview: Ember.View.extend({
    templateName: 'views_items_show'
  })
});

var item = Item.create(jsonData);

var itemIndexView = Ember.View.extend({
  templateName: 'views_items_index',
  item: item
});

itemIndexView.appendTo('body');
Run Code Online (Sandbox Code Playgroud)

然后,在我的itemIndexView视图模板中:

<div class="some-class">
  <p>{{item.title}}</p>
  <div>
    {{view item.subview}}
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

然后,如果我更新itemIndexView:

itemIndexView.set('item', newItem);
Run Code Online (Sandbox Code Playgroud)

在Ember 0.9.3 {{view item.subview}}中,使用新视图自动更新.这在0.9.5中不起作用.现在有不同的方法吗?

Mik*_*ski 5

Ember.ContainerView在处理动态内容时应该使用.

这是一个工作示例,从您的代码重构:http://jsfiddle.net/MikeAski/d6JD8/1/

  • +1.只有两件非常小的事情我会改变/注意代码是你应该使用`getPath`而不是2背靠背`get`调用和`Ember.run.later`而不是`setTimeout`. (2认同)