自定义组件中的双向绑定不起作用

Two-way binding in custom component not working

我创建了一个这样的组件:

templates/components/files-dropzone.hbs

<p>Awesome text</p>
<textarea id="drop-textarea" rows="10" cols="50">
  {{value}}
</textarea>

components/files-dropzone.js

import Ember from 'ember';

export default Ember.Component.extend({
  value: '',

  valueChanged: function() {
    console.log("yup")  // is never triggered
  }.observes('value'),
})

我在另一个模板中像这样使用这个组件:

<div class="large-7 columns padding-left-reset"
  {{files-dropzone value=body}}
</div>

虽然在我加载页面时文本区域包含正确的 body 值,但它没有绑定它。我正在观察 body,当我更改 textarea 内的文本时它不会改变。

编辑:组件本身的值属性也没有改变

我做错了什么?

我不认为 Ember 知道它应该将 {{value}} 绑定到文本区域。

它应该可以工作,使用 textarea 助手:

{{textarea value=value id="drop-textarea" rows="10" cols="50"}}

您想以某种方式调整文本区域的行为吗?