bind multiple values using ng-bind
Asked Answered
A

3

16

Can I bind multiple values using ng-bind like so :

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

Whenever I try this I get the following error:

Error: $parse:syntax Syntax Error

I know I can do the same using the curly braces

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

but I would like to avoid this if I can since the rest of the code base uses ng-bind and I would to stay consistent. Thanks.

Averir answered 23/6, 2015 at 16:32 Comment(5)
Docs say noProstrate
Haven't tried this, but I think you have to treat ng-bind values as expressions; so try instructor.first_name + " " + instructor.last_nameSonora
No it doesn't but I am just going to reformat the html a bit more with span tags inside the p tag and use ng-bind on each of those. ThanksAverir
@ChadWatkins Here's an example of it working: plnkr.co/edit/ls0AkKUpY7z0xNeY0xB3?p=previewSonora
@AndrewBurgess Awesome, thank you. I had double quotes on the outside and I think that stopped it from working.Averir
R
34

You can use "+" for concatenation of the expressions. The following should work for you: <p ng-bind="(instructor.first_name) + (instructor.last_name)"></p>. You can even add filters there <p ng-bind="(instructor.first_name | filterName) + (instructor.last_name)"></p>.

Reggiereggis answered 24/11, 2015 at 11:45 Comment(0)
S
7

You can always use ng-bind-template to bind and format multiple expressions. This is somewhat of a combination of your ng-bind and curly braces, but I think it's what you are looking for.

Your example would be:

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

And of course there is also a ng-bind-html if you are looking to bind an html string.

Saltation answered 18/4, 2016 at 12:57 Comment(0)
L
2

Following the same idea of past answers you can also use ng-bind-html if you want to concat any other chars, that was my case:

  <td ng-bind-html="( com.ref.number | highlight: searchTerm) + '-' + (com.ref.order)">
  </td>
Locklear answered 12/2, 2018 at 12:3 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.