2017-07-25 90 views
0

我创建了一个计算属性,将两个模型属性连接在一起,并创建它们的列表。它最初的工作是这样,这会导致像这样的列表:丙-1- PROP2,丙-1- PROP2Ember计算属性添加逗号

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?',':''),但是增加了两个逗号。谁能解释一下?

回答

1

你忘了返回结果。

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

而且我会鼓励你有相关的关键modelName

+0

它给出相同的结果带有或不回报。我问的问题是从哪里得到逗号。 –

+0

当你做'{{arrayProperty}}' - 那么它将用逗号分隔默认打印它。你想在这里获得什么?..你有{{#每个'块在hbs中迭代它 – kumkanillam

+0

10我将计算的属性设置为使用array-helper定义的ember-datatable的属性。传递给数据表的模型hasMany modelNames,因此需要将它们制作成像这样的列表,以传递到数据表中的一个字段。也许在默认情况下,array-helper组件也用逗号打印。我会研究它。谢谢! –