首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对URL使用ng-bind-html

对URL使用ng-bind-html
EN

Stack Overflow用户
提问于 2016-05-13 19:44:49
回答 3查看 1.3K关注 0票数 0

目前,我有一个带有ng-bind-html的div,用于绑定到传入的HTML

代码语言:javascript
复制
<div ng-bind-html="renderHtml(message.text)" />

目前message.text是超文本标记语言。我更愿意传入一个URL并将其插入到div中。

我怎样才能做到这一点呢?

EN

回答 3

Stack Overflow用户

发布于 2016-05-13 19:54:41

就我个人而言,我会制定一个自定义指令来做这样的事情。

我会将url作为属性参数发送,让指令使用$http.get()获取html,并在加载时将其附加到html中。

票数 0
EN

Stack Overflow用户

发布于 2016-05-13 19:51:00

您可以将源添加为:

代码语言:javascript
复制
<div ng-bind-html="URl | safeHtml"></div>

并且需要添加$sce,以便使用以下指令安全绑定url:

代码语言:javascript
复制
app.filter('safeHtml', function ($sce) {
    return function (val) {
        return $sce.trustAsHtml(val);
    };
});

编辑:

与其直接绑定url,不如将其嵌入到iframe中,并使用它进行安全绑定:

代码语言:javascript
复制
$scope.URL = <iframe ng-src="url"></iframe>
票数 -1
EN

Stack Overflow用户

发布于 2016-05-13 19:51:43

我会这样做:

代码语言:javascript
复制
<input ng-model="myUrl"/>
<div id="myDiv" />

然后为myUrl添加一个监视,并在每次url更改时请求该url:

代码语言:javascript
复制
$scope.$watch('message.text', function(newValue) {
    $.ajax({ url: 'newValue', success: function(data) { 
        $("#myDiv").html(data);
    }});
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37209248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档