我从0.97升级,我相信甚至使用了弃用警告告诉我的配置设置,但这并没有阻止我的应用程序完全破坏升级
我的车把代码有这个
<script type="text/x-handlebars" data-template-name="say-hello">
{{name}}</br>
{{hello}}
</script>
我的观看代码就是这个
App = Ember.Application.create();
App.myView = Ember.View.create({
templateName: 'say-hello',
nameBinding: 'App.arrayProxy.name',
helloBinding: 'App.arrayProxy.hello',
}).append();
App.arrayProxy = Ember.ArrayProxy.extend({
name: "test",
hello: function(){
return 'hello ' + this.get('name')
}.property('name')
})
Niether属性显示在视图中。就像绑定甚至不再工作一样。即使我将一个console.log添加到hello它甚至都不会被调用。由于某些原因,在ember 1.0中处理完全不同的属性,这是一个非常大的PITA。如果我必须添加或删除某些东西,有没有人对我在最新版本中如何做到这一点有任何见解?
更新:这是一个jsfiddle来展示它是如何工作的http://jsfiddle.net/664H9/
答案 0 :(得分:4)
你的jsfiddle有三件事不起作用:
追加视图。对我来说,最好声明一个默认模板(没有data-template-name),并引用其中的视图。 Ember将为您创建视图
从1.0开始,要将视图的属性调用到模板中,您必须在其前面添加view
您的绑定无法正常工作,因为您没有创建数组代理的实例,但您只是创建了一个类(我认为即使在0.9.7中,这也不起作用。
这是一个有效的jsfiddle:http://jsfiddle.net/Sly7/664H9/22/
<script type="text/x-handlebars">
{{view App.MyView}}
</script>
<script type="text/x-handlebars" data-template-name="my-view">
{{view.name}}</br>
{{view.hello}}
</script>
App = Ember.Application.create();
App.ApplicationView = Ember.View.extend({
nameBinding: 'App.arrayProxy.name',
helloBinding: 'App.arrayProxy.hello',
});
App.arrayProxy = Ember.ArrayProxy.create({
name: "test",
hello: function(){
return 'hello ' + this.get('name')
}.property('name')
});
App.initialize();