2013-07-24 16 views
5

Jak mogę powiązać atrybut i powiązać z nim jakiś zwykły tekst?Ember.js bindAttr plus tekst jawny

Na przykład:

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

Aby wyprodukować:

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

Czy istnieje sposób to zrobić bez konieczności pisania nowego pomocnika? Czuję, że muszę napisać pomocnika dla każdej prostej rzeczy z kierownicy ...

Odpowiedz

1

Będziesz może zdefiniowane tak:

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

Możesz przeczytać więcej na ten temat in the docs.

+0

myślę, że może pracować tylko dla wartości logicznych i nazw klas . Próbowałem go z właściwością 'for' etykiety '{{bindAttr dla =" id: appendThis "}}' i nic nie zostało wyrenderowane we właściwości 'for'. Kiedy robię '{{bindAttr for = id}}', właściwość for jest ustawiana na właściwość 'id' kontrolera. – leejt489

2

Można dodać do modelować nowego pola obliczonego

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

W zmianą Kierownice do:

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

lub

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