Angular, вывод функции из выражения

Я хочу знать, можно ли сделать следующее:

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

Итак, я хочу выполнить "отмеченную" функцию, передав тело статьи в качестве параметра и отображая сгенерированный вывод.

Ответ 1

Конечно, никаких проблем с этим синтаксисом!:)

Все, что вам нужно, - это выполнить функцию marked , определенную в правой области. Например, допустим, что вы находитесь в контроллере ArticleCtrl:

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

    // Declare the method in the controller 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();
    };
 });

Затем вы можете использовать {{ marked(something) }} в своем шаблоне.

Ответ 2

это возможно, но убедитесь, что функция будет функцией $scope.

Конечно, функция вызова в ng-repeat - это не хорошая идея, попробуйте подумать о своей архитектуре и, возможно, создать для нее какую-то модель.