我正在尝试将部分构建的UI升级到最新的Ember.js rc1,并且由于API的显着改变,它已经变成了一个非常大的重写作业。那里(和这里)的大部分信息都变得毫无用处。我不得不多次重复阅读文档以使部分工作,但有很多松散的结果。这是一个大问题。视图不会像以前版本那样更新。我遗漏了与rerender,{{outlet}}或其他我不知道的事情有关的事情。灰烬指南似乎需要更新。
模板非常简单:
<script type="text/x-handlebars" data-template-name="index">
<button {{action "addOne"}}>add one</button>
<ul>
{{#each item in controller}}
<li>{{item.title}}</li>
{{/each}}
</ul>
</script>
单击此按钮时,该按钮会向备用阵列添加新元素。控制台日志显示阵列正在增长,但模板不会更改。 Here is a jsfiddle来说明我已经走了多远。任何人都可以找出需要添加的内容吗?
答案 0 :(得分:4)
我修改了你的例子以突出我们在Ember中使用数组的事实,我们正在使用Ember数组(Ember.A()
或Em.A()
,如果你想明确这个事实)。根据我的理解,您可以使用方法Em.A().addObject
和Em.A().removeObject
来使用Ember.Object getter和setter方法来实现基本功能(即.get()
&amp; .set()
)
为了让Ember应用程序正确观察,使用Ember吸气剂和定位器非常重要。