2016-05-13 62 views
0

目前,我有ng-bind-html一個div,我使用綁定到HTML,我傳遞使用NG綁定,HTML與URL

<div ng-bind-html="renderHtml(message.text)" /> 

目前message.text是HTML。我寧願傳入一個URL並將該HTML插入到div

我該如何做到這一點?

+0

你想從'url'處的網頁中檢索HTML並將其插入div? –

+0

@ iuliu.net yessir –

回答

-1

您可以添加源爲:

<div ng-bind-html="URl | safeHtml"></div> 

,需要添加$sce爲URL的安全綁定這個指令:

app.filter('safeHtml', function ($sce) { 
    return function (val) { 
     return $sce.trustAsHtml(val); 
    }; 
}); 

編輯:

而不是直接綁定url,將其嵌入iframe並將其用於安全綁定:

$scope.URL = <iframe ng-src="url"></iframe> 
+0

這是經過嘗試和測試,我一直在使用它來綁定第三方網址到我的應用程序。爲什麼downvote? – Sajal

-1

我會做這樣的:

<input ng-model="myUrl"/> 
<div id="myDiv" /> 

,然後添加一個手錶myUrl,併爲每個它改變時間的URL的請求:

$scope.$watch('message.text', function(newValue) { 
    $.ajax({ url: 'newValue', success: function(data) { 
     $("#myDiv").html(data); 
    }}); 
} 
0

就個人而言,我會做一個自定義指令來做這樣的事情。

我會發送url作爲屬性參數,使指令獲取HTML與$ http.get(),並且當它的加載時,將其追加到HTML。