62

So I want to put a variable through a filter inthe ng-bind directive

ng-bind="input | filter"

but I want to insert more text

ng-bind="input | filter + 'more' "

but this isn't working. Is there a way to add more text in ng-bind, like you could if you were simply using {{}}:

{{input | filter}} more
0

2 Answers 2

116

Instead of interpolating(using {{}}) something in the ng-bind directive you can simply enclose the filtered value with a parenthesis and append your text.

<h1 ng-bind="(input | filter) + ' more stuff'"></h1>

furthermore, if the text you want to add is not in any way dynamic then I suggest you append another element to bind the filtered value and then add the text after that element.

e.g.

<h1><span ng-bind="(input | filter)"></span> more stuff</h1>

This saves you one concatenation process.

Example here

Sign up to request clarification or add additional context in comments.

1 Comment

Oh, I didn't think to do that, haha. This is a better method than mine.
4

You can do something like this:

<h1 ng-bind="'{{input | filter}}' + ' more stuff'"></h1>

Here's an example: http://plnkr.co/edit/rEva7FTPFtr3im7RUlQk?p=preview

1 Comment

There's a caveat in this: it doesn't update when the input value changes. It's essentially becomes static after the first interpolation.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.