web-dev-qa-db-fra.com

lier plusieurs valeurs en utilisant ng-bind

Puis-je lier plusieurs valeurs en utilisant ng-bind comme ceci:

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

À chaque fois que j'essaie, l'erreur suivante apparaît: 

Erreur: $ parse: syntax Syntax Error

Je sais que je peux faire la même chose en utilisant les accolades

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

mais je voudrais éviter cela si je peux car le reste de la base de code utilise ng-bind et je voudrais rester cohérent. Merci.

13
Chad Watkins

Vous pouvez utiliser "+" pour concaténer les expressions. Ce qui suit devrait fonctionner pour vous: <p ng-bind="(instructor.first_name) + (instructor.last_name)"></p>. Vous pouvez même y ajouter des filtres <p ng-bind="(instructor.first_name | filterName) + (instructor.last_name)"></p>.

31
Maksym Kosak

Vous pouvez toujours utiliser ng-bind-template pour lier et formater plusieurs expressions. Ceci est en quelque sorte une combinaison de vos ng-bind et vos accolades, mais je pense que c'est ce que vous recherchez.

Votre exemple serait:

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

Et bien sûr, il existe également un ng-bind-html si vous souhaitez lier une chaîne html.

6
djmarquette

En suivant la même idée de réponses précédentes, vous pouvez également utiliser ng-bind-html si vous souhaitez concaténer d'autres caractères, c'était mon cas:

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