【问题标题】:Ember Two Way BindingEmber 双向绑定
【发布时间】:2016-04-19 01:16:27
【问题描述】:

使用 Ember 2.0。我有一个要与一组输入绑定的对象。对象中的键直到运行时才知道。这是我所拥有的:

JS

export default Ember.Component.extend({
  form: {},
  fields: Ember.computed(function() {
   //Dynamically gets list of fields as array
   return fields;
  })
});

哈佛商学院

{{#each fields as |field|}}
  {{field.title}} - {{input type="text" value=(mut (mergeHelper "form." field.title))}}
{{/each}}

合并助手

export function mergeHelper(params) {
  var result = "";
  for (var i = 0; i < params.length; i++) {
    result+=params[i];
  }
  return result;
}

我遇到的问题是,当我去编辑输入时,我收到以下错误:“未捕获的错误:流错误:setValue 未实现”。我究竟做错了什么?谢谢。

【问题讨论】:

  • 您正在将值绑定到助手的结果,因此它不起作用。我认为您需要使用 get/set 语法的计算属性。
  • 您也可以尝试使用get helper 来动态获取属性。

标签: javascript ember.js data-binding


【解决方案1】:

更改计算属性返回的数组的属性时,绑定应该可以正常工作。这个例子在ember 2.2中对我来说很好


fields: Ember.computed(function() { return [{ title: 'something' }, { title: 'something' }, { title: 'something' }]; }),


fields: {{#each fields as |field|}} {{field.title}} - {{input type="text" value=field.title}} {{/each}}


请注意,当更改最后一个输入值时,标签也会发生变化。

【讨论】:

    猜你喜欢
    • 2014-03-12
    • 2015-04-26
    • 2012-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-11
    相关资源
    最近更新 更多