我有这个Bootstrap手风琴项目
{{#bs-accordion-item value=index title=client.name}}
但我希望title
属性包含一个包含可变数据和静态文本的字符串,例如title="{{client.value}} at {{client.name}}"
,但由于我无法使用引号,我被卡住了...
答案 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来演示。