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.
The solution is ng-bind-template, it can bind more than one {{}} expression, so it can show more than a single value that was declared in the Script function.
The ng-bind directive tells AngularJS to replace the content of an HTML element with the value of a given variable, or expression. If the value of the given variable, or expression, changes, the content of the specified HTML element will be changed as well.
AngularJS creates a two way data-binding between the select element and the $ctrl. orderProp model. $ctrl. orderProp is then used as the input for the orderBy filter.
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>
.
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.
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>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With