2015-06-23 16 views
12

Posso associare più valori utilizzando ng-bind in questo modo:legano più valori utilizzando ng-bind

<p ng-bind="instructor.first_name instructor.last_name"></p> 

Ogni volta che provo questa ottengo il seguente errore:

Errore: $ parse: sintassi Sintassi Errore

so di poter fare lo stesso utilizzando le parentesi graffe

<p>{{instructor.first_name}}{{instructor.last_name}}</p> 

ma vorrei evi d questo se posso dal momento che il resto della base di codice utilizza ng-bind e vorrei rimanere coerente. Grazie.

+0

[Docs dire no] (https: //docs.angularjs. org/api/ng/direttiva/ngBind) –

+0

Non ho provato questo, ma penso che devi considerare i valori di 'ng-bind' come espressioni; quindi prova 'instructor.first_name +" "+ instructor.last_name' –

+0

No, non lo è, ma sto solo andando a riformattare l'html un po 'di più con i tag' span' dentro il tag 'p' e usare ng-bind su ogni di quelli. Grazie –

risposta

29

È possibile utilizzare "+" per la concatenazione delle espressioni. Il seguente dovrebbe funzionare per voi: <p ng-bind="(instructor.first_name) + (instructor.last_name)"></p>. È anche possibile aggiungere filtri lì <p ng-bind="(instructor.first_name | filterName) + (instructor.last_name)"></p>.

6

È sempre possibile utilizzare ng-bind-template per associare e formattare più espressioni. Questa è in qualche modo una combinazione delle tue parentesi graffe e ng-bind, ma penso che sia quello che stai cercando.

tuo esempio potrebbe essere:

<p ng-bind-template="{{instructor.first_name}} {{instructor.last_name}}"></p> 

E naturalmente c'è anche un ng-bind-html se si sta cercando di legare una stringa HTML.

0

Seguendo la stessa idea di risposte del passato è anche possibile utilizzare ng-bind-html se si vuole concat altri caratteri, che è stato il mio caso:

<td ng-bind-html="(com.ref.number | highlight: searchTerm) + '-' + (com.ref.order)"> 
    </td> 
Problemi correlati