我创建了一个jsbin:https://ember-twiddle.com/52edd8462fa6e3cf1a147a2a047c9207?openFiles=models.post.js%2C
问题:characters
上的{/ em> cp post
在content
更改属性comment
时无法更新。
'修复':使用this.get('comments')
代替this.hasMany('comments').value()
时确实发生了更改。
get
通知观察者它应该查找属性上的更改,因为它正在使用,而hasMany
似乎没有此功能..
这是故意还是错误?
答案 0 :(得分:0)
你没有迭代model.comments.
这就是你面临问题的原因。
尝试在模板中使用以下代码。它的工作
{{#each model.comments as |comment|}}
<div>
content: {{input value=comment.content}}
</div>
<div>
characters: {{comment.characters}}
</div>
<br /><br />
{{/each}}
答案 1 :(得分:0)
如果还没有值(尚未从后端检索),则调用hasMany().value()
将返回模型的当前值和null
。它可用于检查模型是否已加载,它不会触发对服务器的加载。这是预期的行为,只是在不触发负载的情况下获取内容。
答案 2 :(得分:0)
我通过修改私有API修复了这个问题。
可通过以下ember-addon
:https://github.com/dylanmensaert/ember-data-peek-relationship