2013-07-24 18 views
5

Come posso associare un attributo e concatenarlo con un testo in chiaro?Ember.js bindAttr plus testo semplice

Ad esempio:

<span {{bindAttr title="updates 'revisions'"}}>{{updates}} revisions</span> 

produrre:

<span title="4 revisions">4 revisions</span> 

C'è un modo per farlo senza scrivere un nuovo aiutante? Mi sento come se avessi di scrivere un aiutante per ogni cosa semplice con il manubrio ...

risposta

1

Potrai può definita in questo modo:

<span {{bindAttr title="updates :revisions"}}>{{updates}} revisions</span> 

Si può leggere di più su di esso in the docs.

+0

penso che può funzionare solo per i booleani e nomi delle classi . L'ho provato con la proprietà 'for' di un'etichetta '{{bindAttr for =" id: appendThis "}}' e niente è stato reso nella proprietà 'for'. Quando eseguo '{{bindAttr for = id}}', la proprietà for è impostata sulla proprietà 'id' del controllore. – leejt489

2

È possibile aggiungere a voi il modello nuovo campo calcolato

App.Revisions = Em.Object.extend({ 
    updates:5, 
    updatesTitle:function(){ 
    return this.get('updates') + ' revisions'; 
    }.property('updates'), 
}); 

In cambio manubrio per:

<span {{bindAttr title="updatesTitle"}}>{{updates}} revisions</span> 

o

<span {{bindAttr title="updatesTitle"}}>{{updatesTitle}}</span>