Вычисленное свойство не отображается правильно в 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/
Обе версии, кажется, работают... Возможно, ошибка в другом.