我使用GitHub存储库中最新的ember-latest.js。
当我尝试使用计算属性时,它不起作用。但是,当我使用Ember.computed
而不仅仅是一个函数时,它会起作用。
我想可能是禁用了原型扩展。但Em.EXTEND_PROTOTYPES
是true
。那么为什么它不起作用呢?
http://jsfiddle.net/Krutius/TmYuS/
HTML / Handlebars
<script type="text/x-handlebars" data-template-name="test">
{{test}}
</script>
的Javascript
App = Em.Application.create({});
Em.View.create({
templateName: 'test',
test: function() {
return("true")
}
}).append();
答案 0 :(得分:2)
要将函数标记为计算属性,您必须在定义中添加.property()
,请参阅http://jsfiddle.net/pangratz666/zssx4/:
Em.View.create({
test: function() {
return true;
}.property()
}).append();
查看http://emberjs.com/documentation/#toc_ember-js-at-a-glance
中的“计算属性”