Arne Schreuder
Arne Schreuder

Reputation: 183

Angular, output from function on expression

I want to know if it is possible to do the following:

<div ng-repeat='article in articles | filter:search'>
...
    <div>
        {{marked(article.body)}}
    </div>
...
</div>

So I want to execute the "marked" function, passing the article body as a parameter and display the generated output.

Upvotes: 12

Views: 18550

Answers (2)

giant_teapot
giant_teapot

Reputation: 717

Sure, no problem with that syntax ! :)

All you need is to make sur the marked function is defined in the right scope. For instance, let's assume you are in the ArticleCtrl controller :

app.controller('ArticleCtrl', function($scope) {

    // Declare the method in the controller's scope
    $scope.marked = function(article_body) {

         // do whatever you want here
         // and don't forget to return the expected result
         return "LOVE CAPS! " + article_body.toUpperCase();
    };
 });

You can then use {{ marked(something) }} in you template.

Upvotes: 12

bmazurek
bmazurek

Reputation: 169

it's possible, but make sure that function will be $scope function.

Of course call function in ng-repeat isn't good idea, try to re think about your architecure and maybe create some model for it.

Upvotes: 2

Related Questions