2016-05-25 1 views
0

Я создал jsbin:. https://ember-twiddle.com/52edd8462fa6e3cf1a147a2a047c9207?openFiles=models.post.js%2Cф не обновляется при использовании hasMany (..) значение() вместо GET (..)

Выпуск: ф characters на post не обновляется, когда свойство content изменения на comment.

'Fix': изменение это происходит при использовании this.get('comments') вместо this.hasMany('comments').value().

get уведомляет наблюдатель, что он должен искать изменения на имущество, так как он используется, в то время как hasMany, кажется, не имеет эту функцию ..

Является ли это нарочно или ошибка?

ответ

0

вы не итерации свыше model.comments. вот почему вы столкнулись с проблемой. попробуйте использовать следующий код в шаблоне. его работа

{{#each model.comments as |comment|}} 
    <div> 
    content: {{input value=comment.content}} 
    </div> 

    <div> 
    characters: {{comment.characters}} 
    </div> 

    <br /><br /> 
{{/each}} 
+0

Пожалуйста, не забудьте принять мой ответ. его лучше, чем просто спасибо :) –

+0

ваш пример работает, потому что он использует model.get ('comments') внутри, который работает, как я объяснил. Мой пример явно вызывает 'комментарии' через' .hasMany', как определено на уровне контроллера. – dylanmensaert

0

Вызов hasMany().value() возвращает текущее значение модели и null, если нет значения пока (пока не извлекается из внутреннего интерфейса). Его можно использовать для проверки того, загружена ли модель или нет, она не будет запускать нагрузку на сервер. Это предназначенное поведение, чтобы просто получить контент без запуска нагрузки.

Смежные вопросы