0

如果我按照文档在咖啡脚本中有一个 ember 对象

Person = Ember.Object.extend
  name: null
  lastName: null
  fullName: Ember.computed ->
    return 'hello'
  .property('name', 'lastName')

person = Person.create
  name: 'Tom'
  lastName: 'Tim'

Usingperson.get('fullName')返回一个 ember 对象而不是全名

m =>
    _cacheable: true
    _dependentKeys: Array[1]
    0: "ownerships"
    length: 1
    __proto__: Array[0]
    func: function () {
    __proto__: Ember.Descriptor

因此(我假设),我看到[object Object]的不是 fullName

<script type="text/x-handlebars" data-template-name="personView">
{{#with App.peopleController.person}}
  <dt>First name</dt>
  <dd>{{name}}</dd>
  <dt>Fullname</dt>
  <dd>{{fullName}}</dd>
{{/with}}
</script>

这呈现:

First name
[object Object]
4

1 回答 1

1

指点coffeescript给了我一个提示:尝试像这样定义fullName:

fullName: (->
   return "hello"
).property('firstName', 'lastName')

我认为在您的示例中,返回的值是函数本身,而不是值。

编辑

我试图用 javascript 翻译你的代码:http: //tinyurl.com/9mh2eho

然后,粘贴到 jsfiddle 中:

http://jsfiddle.net/Sly7/ksRkd/

两个版本似乎都有效......也许错误在其他地方。

于 2012-08-19T19:31:12.943 回答