【问题标题】:Ember computed property adds commaEmber 计算属性添加逗号
【发布时间】:2017-12-31 03:49:39
【问题描述】:

我创建了一个计算属性来将两个模型属性连接在一起,并创建它们的列表。它最初是这样工作的,结果是这样的列表:prop1-prop2, prop1-prop2

modelName: Ember.computed(
  return this.get('modelName').map((o) => {
    return o.get('prop1') + '-' + o.get('prop2');
  }).join(', ');
})

然后我把它改成这样,得到相同的列表:

modelName: Ember.computed(
  return this.get('modelName').map((o, i) => {
    return (i > 0 ? ' ' : '') + o.get('prop1') + '-' + o.get('prop2');
  });
})

我的问题是,第二个计算属性在哪里获取逗号以放入逗号分隔列表?我尝试的初始代码是 (i > 0 ? ', ' : '') 但那是添加两个逗号。谁能解释一下?

【问题讨论】:

    标签: javascript ember.js computed-properties


    【解决方案1】:

    你忘记返回结果了。

    modelName: Ember.computed('modelName',
      return this.get('modelName').map((o, i) => {
        return (i > 0 ? ' ' : '') + o.get('prop1') + '-' + o.get('prop2');
      });
    })
    

    我也鼓励你拥有依赖键modelName

    【讨论】:

    • 无论有没有返回,它都会给出相同的结果。我要问的问题是逗号从哪里来的。
    • 当你做{{arrayProperty}} - 然后它会默认用逗号分隔打印它。你想在这里实现什么?...你有 {{#each 块在 hbs 中迭代它
    • 我将计算属性设置为使用 array-helper 定义的 ember-datatable 的属性。传递到数据表中的模型有很多模型名称,因此需要将它们制作成这样的列表才能传递到数据表中的一个字段中。也许 array-helper 组件默认也使用逗号打印。我会调查的。谢谢!
    • 对不起,没有返回就不行,这是一个错字。我现在就编辑。
    猜你喜欢
    • 2016-06-27
    • 2016-05-17
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    • 2015-09-20
    • 2014-08-10
    相关资源
    最近更新 更多