ember.js中的计算属性示例失败

时间:2013-09-28 15:55:55

标签: javascript ember.js

我正在尝试学习emberjs,并在计算属性部分的示例中偶然发现错误(www.emberjs.com,'导向'部分中的'运行中的计算属性'示例)。当我从浏览器的控制台调用ironMan.fullName()时,它始终显示错误“属性'fullName'对象[object Object]不是函数” - 为什么会这样?

我的代码是:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.0-rc.3/handlebars.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/ember.js/1.0.0-rc.6/ember.min.js"></script>
<script>
App = Ember.Application.create();

App.Person = Ember.Object.extend({
  // these will be supplied by `create`
  firstName: null,
  lastName: null,

  fullName: function() {
    return this.get('firstName') + ' ' + this.get('lastName');
  }.property('firstName', 'lastName')
});

var ironMan = App.Person.create({
  firstName: "Tony",
  lastName:  "Stark"
});
</script>

同样在jsbin:http://jsbin.com/UnevOVU/3/edit

1 个答案:

答案 0 :(得分:1)

此错误告诉您ironMan.fullName不是函数,无法使用()调用。这是因为fullName是计算属性对象,而不是函数。您可以使用指南中此代码示例正下方显示的代码访问其值:

ironMan.get('fullName') // "Tony Stark"