加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 在$sce.trustAsHtml内呈现指令

发布时间:2020-12-17 08:16:58 所属栏目:安全 来源:网络整理
导读:我在这里包括一个Plunker: http://plnkr.co/edit/4vqV8toHo0vNjtfICtzI?p=preview 我试图添加一个按钮到DOM,当点击应该执行绑定到它的功能。在这种情况下,应该提醒“测试”。这是代码。 调节器 app.controller('MainCtrl',function($scope,$sce) { $scope
我在这里包括一个Plunker: http://plnkr.co/edit/4vqV8toHo0vNjtfICtzI?p=preview

我试图添加一个按钮到DOM,当点击应该执行绑定到它的功能。在这种情况下,应该提醒“测试”。这是代码。

调节器

app.controller('MainCtrl',function($scope,$sce) {
        $scope.trustedHtml = $sce.trustAsHtml('<button ng-click="testAlert()">Submit</button>');  

        $scope.testAlert = function () {
            alert('testing')
        };
});

HTML

<body ng-controller="MainCtrl">
    <div ng-bind-html="trustedHtml"></div>
</body>
$ sce.trustAsHtml和ng-bind-html不是要用指令构建HTML。这种技术将无法正常工作。

这是因为角度通过首先编译然后链接起作用。看到conceptual overview的一个很好的解释。

简而言之,当您链接在trustAsHtml中定义的HTML时,编辑ng(并因此了解)ng-click指令为时已晚。

为了动态添加HTML,您应该查看$ compile服务(和/或指令)。 Docs are here。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读