问题 Angular,表达式函数的输出


我想知道是否可以执行以下操作:

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

所以我想执行“标记”功能,将文章正文作为参数传递并显示生成的输出。


8387
2017-09-08 08:11


起源



答案:


当然,语法没问题! :)

你所需要的只是做到了 marked 功能是 在合适的范围内定义。 例如,让我们假设你在 ArticleCtrl 控制器:

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();
    };
 });

然后你可以使用 {{ marked(something) }} 在你的模板。


10
2017-09-08 08:23



Ty非常:)工作就像一个魅力! - Arne Schreuder
好消息。玩的开心 ! O / - giant_teapot
只是一个建议,对于这种类型或数据转换,建议构建一个过滤器,它使用相同的逻辑,并可以在整个应用程序中重用。 - aUXcoder


答案:


当然,语法没问题! :)

你所需要的只是做到了 marked 功能是 在合适的范围内定义。 例如,让我们假设你在 ArticleCtrl 控制器:

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();
    };
 });

然后你可以使用 {{ marked(something) }} 在你的模板。


10
2017-09-08 08:23



Ty非常:)工作就像一个魅力! - Arne Schreuder
好消息。玩的开心 ! O / - giant_teapot
只是一个建议,对于这种类型或数据转换,建议构建一个过滤器,它使用相同的逻辑,并可以在整个应用程序中重用。 - aUXcoder


它是可能的,但要确保该函数将是$ scope函数。

当然,ng-repeat中的调用函数不是一个好主意,尝试重新考虑一下你的架构,并为它创建一些模型。


2
2017-09-08 08:23



太非常了! +1 - Arne Schreuder