目前我有一个ng-bind-html
的div,用于绑定我传入的HTML
<div ng-bind-html="renderHtml(message.text)" />
目前message.text
是HTML。我希望传入一个URL并将该HTML插入div
。
我怎样才能做到这一点?
答案 0 :(得分:0)
就个人而言,我会制定一个自定义指令来做这样的事情。
我会将url作为属性参数发送,使指令使用$ http.get()获取html,并在加载时将其附加到html。
答案 1 :(得分:-1)
您可以将来源添加为:
<div ng-bind-html="URl | safeHtml"></div>
需要添加$sce
以便使用此指令安全地绑定url:
app.filter('safeHtml', function ($sce) {
return function (val) {
return $sce.trustAsHtml(val);
};
});
修改强>
不是直接绑定网址,而是将其嵌入iframe并将其用于安全绑定:
$scope.URL = <iframe ng-src="url"></iframe>
答案 2 :(得分:-1)
我会这样做:
<input ng-model="myUrl"/>
<div id="myDiv" />
然后为myUrl
添加一个监视,并在每次更改时发出请求:
$scope.$watch('message.text', function(newValue) {
$.ajax({ url: 'newValue', success: function(data) {
$("#myDiv").html(data);
}});
}