Вычисленное свойство не отображается правильно в EmberJS, показывая [объект Object]

Если у меня есть объект ember в coffeescript согласно документации

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

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

С помощью person.get('fullName') возвращает объект ember вместо полного имени

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

Из-за этого (я полагаю) я вижу [object Object] вместо полного имени

<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]

1 ответ

Решение

Указание на coffeescript подсказало мне: попробуйте определить fullName следующим образом:

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

Я думаю, что в вашем примере возвращаемое значение - это сама функция, а не значение.

РЕДАКТИРОВАТЬ

Я пытался перевести ваш код в javascript с помощью: http://tinyurl.com/9mh2eho

Затем вставьте jsfiddle:

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

Обе версии, кажется, работают... Возможно, ошибка в другом.

Другие вопросы по тегам