通过没有模板的角度指令进行字符串操作

汤姆

我正在尝试获取纯文本推文的列表(例如,“ @ Stackoverflow很酷#hashtag”),将其传递给ng-repeat,然后应用自定义指令(或过滤器)将字符串更改为类似“ @Stackoverflow is很酷的#hashtag

因此,我尝试了一个过滤器,它工作得很好,除了它不能与原始html很好地配合,而且我已经读到,无论如何,这是指令的工作。

因此,过滤器(称为:){{ tweet | parseTweetTags }}

(function (app) {

    app.filter("parseTweetTags", function () {
        return function (text) {
            return text.parseUrl().parseUsername().parseHashtag()
        }
    });

}(angular.module('twitterApp')));

现在,我想我想改成一个指令,然后从内部调用它<div parse-tweet-tags="tweet.text"></div>(甚至没有="tweet.text"-我不确定最佳实践是什么)ng-repeat

这就是我要解决的问题,但我认为还差得很远:

(function (app) {
    app.directive('parseTweetTags', function () {
        function link(scope, element, attrs) {
            var tweet;
            function parseTweet() {
                element.text(tweet.parseURL().parseUsername().parseHashtag());
            }

            scope.$watch(attrs.tweet, function (value) {
                tweet = value;
            });
        }

        return {
            link: link
        }
    });
}(angular.module('twitterApp')));

HTML希望看起来像这样,没有 ng-model

<div ng-controller="tweetsController">
    <div ng-repeat="tweet in tweets">
        <div parse-tweet-tags="tweet.text"></div>
    </div>
</div>

tl; dr

我如何简单地传递字符串,在指令中对其进行简单的操作,然后在没有模板的情况下将其返回

汤姆

在对过滤器及其与HTML绑定的方式进行了少许修改之后,我就能够做到这一点。

首先,更改过滤器,以传入$ sce并调用$ sce.trustAsHtml()

(function (app) {
    app.filter("parseTweetTags", function ($sce) {
        return function (text) {
            return $sce.trustAsHtml(text.parseURL().parseUsername().parseHashtag());
        }
    });
}(angular.module('twitterApp')));

并更改为html:

<div ng-controller="tweetsController">
    <div ng-repeat="tweet in tweets">
        <div ng-bind-html="tweet.text | parseTweetTags"></div>
    </div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在没有任何标签的角度模板中重复字符串

来自分类Dev

带字符串的角度指令

来自分类Dev

通过递归(JS)进行字符串操作

来自分类Dev

没有awk或sed的字符串操作

来自分类Dev

角度指令范围中的字符串键和非字符串键有什么区别?

来自分类Dev

Django模板中的字符串操作

来自分类Dev

生成:字符串:无效的操作:没有字段或方法字符串

来自分类Dev

有没有办法对字符串上的单词进行模糊字符串匹配?

来自分类Dev

角度指令解释属性为字符串

来自分类Dev

字符串操作进行分类

来自分类Dev

使用R进行字符串操作

来自分类Dev

使用 Linq 进行字符串操作

来自分类Dev

通过'%'进行python字符串操作的多线程安全性

来自分类Dev

通过特定的定界符对字符串进行操作并写入文本文件

来自分类Dev

删除标点符号在Java中无法通过字符串替换进行操作

来自分类Dev

通过添加空格('')直到长度20来进行字符串操作

来自分类Dev

通过特定的定界符对字符串进行操作并写入文本文件

来自分类Dev

谁能帮助理解为什么它没有通过测试?FCC 新 es6 课程“使用模板文字的字符串”

来自分类Dev

带有erlang的字符串模板

来自分类Dev

有没有一种方法可以对两个字符串进行标记化并并行地通过标记?

来自分类Dev

为什么 Kotlin 中基于字符串的模板变量没有改变?

来自分类Dev

通过值将字符串以外的所有类型传递给模板函数

来自分类Dev

显示没有子字符串的字符串

来自分类Dev

有没有简单的方法可以将字符串作为函数参数进行组合?

来自分类Dev

有没有更好的方法可以对字符串进行多次替换?

来自分类Dev

SQL:有没有办法在 SQL 中进行批量字符串替换?

来自分类Dev

codeigniter,查看模板字符串到DomDocument 操作

来自分类Dev

执行堆栈操作以在没有集合api的情况下在java中推送字符串

来自分类Dev

对所有子目录中的文件子集中的字符串进行bash递归操作

Related 相关文章

  1. 1

    在没有任何标签的角度模板中重复字符串

  2. 2

    带字符串的角度指令

  3. 3

    通过递归(JS)进行字符串操作

  4. 4

    没有awk或sed的字符串操作

  5. 5

    角度指令范围中的字符串键和非字符串键有什么区别?

  6. 6

    Django模板中的字符串操作

  7. 7

    生成:字符串:无效的操作:没有字段或方法字符串

  8. 8

    有没有办法对字符串上的单词进行模糊字符串匹配?

  9. 9

    角度指令解释属性为字符串

  10. 10

    字符串操作进行分类

  11. 11

    使用R进行字符串操作

  12. 12

    使用 Linq 进行字符串操作

  13. 13

    通过'%'进行python字符串操作的多线程安全性

  14. 14

    通过特定的定界符对字符串进行操作并写入文本文件

  15. 15

    删除标点符号在Java中无法通过字符串替换进行操作

  16. 16

    通过添加空格('')直到长度20来进行字符串操作

  17. 17

    通过特定的定界符对字符串进行操作并写入文本文件

  18. 18

    谁能帮助理解为什么它没有通过测试?FCC 新 es6 课程“使用模板文字的字符串”

  19. 19

    带有erlang的字符串模板

  20. 20

    有没有一种方法可以对两个字符串进行标记化并并行地通过标记?

  21. 21

    为什么 Kotlin 中基于字符串的模板变量没有改变?

  22. 22

    通过值将字符串以外的所有类型传递给模板函数

  23. 23

    显示没有子字符串的字符串

  24. 24

    有没有简单的方法可以将字符串作为函数参数进行组合?

  25. 25

    有没有更好的方法可以对字符串进行多次替换?

  26. 26

    SQL:有没有办法在 SQL 中进行批量字符串替换?

  27. 27

    codeigniter,查看模板字符串到DomDocument 操作

  28. 28

    执行堆栈操作以在没有集合api的情况下在java中推送字符串

  29. 29

    对所有子目录中的文件子集中的字符串进行bash递归操作

热门标签

归档