带空格的Ember HTML属性

时间:2016-12-07 23:21:28

标签: ember.js

我有这个Bootstrap手风琴项目

{{#bs-accordion-item value=index title=client.name}}

但我希望title属性包含一个包含可变数据和静态文本的字符串,例如title="{{client.value}} at {{client.name}}",但由于我无法使用引号,我被卡住了...

2 个答案:

答案 0 :(得分:4)

您可以使用concat帮助。

{{#each model as |rental|}}
  {{#bs-accordion selected=selected}}
    {{#bs-accordion-item value=rental.id title=(concat rental.title " Owned by " rental.owner)}}
        {{!--The accordion content goes here--}}
    {{/bs-accordion-item}}
  {{/bs-accordion}}
{{/each}}

答案 1 :(得分:3)

这是Computed Properties in Ember的用途......

例如,您可以使用控制器中的计算属性构造所需的字符串,并将计算属性分配给title属性。

在控制器中,您可以执行以下操作:

client: {
  name: 'Indianapolis Motor Speedway',
  value: 'Alexander Rossi',
},

constructedString: Ember.computed('client.value', 'client.name', function () {
  const clientValue = this.get('client.value');
  const clientName = this.get('client.name');

  return `${clientValue} at ${clientName}`; 
}),

在bs-accordion-item助手中,constructedString值已分配给title属性:

{{ bs-accordion-item value=index title=constructedString }}

bs-accordion-item模板可以引用title,如下所示:

<h3>{{ title }}</h3>

我创建了一个Ember Twiddle example来演示。