簡體   English   中英

將內容添加到uib-tooltip-html

[英]add content to uib-tooltip-html

為什么這樣可以正常工作:

控制器:

$scope.getHtml = $sce.trustAsHtml("<div>Test</div>");

視圖:

<div uib-tooltip-html="getHtml">Test</div>

但是以下內容根本行不通嗎? ;-(

控制器:

$scope.getHtml = function (){
        var textOutput = "<div>Text</div>";
        return $sce.trustAsHtml(textOutput);        
    };

視圖:

<div uib-tooltip-html="getHtml()">Test</div>

錯誤消息是:angular.min.js:6未捕獲的錯誤:[$ rootScope:infdig]


編輯1:謝謝,原來的問題解決了。 但是現在我對此有另一個疑問。 如果<div>在ngRepeat中並且我想給函數一個ngRepeat項作為參數怎么辦? <div uib-tooltip-html="getHtml({{item}})">Test</div>


編輯2:這是我的問題的更具體的示例。 我希望這樣的工作:

<tr ng-repeat="object in objectArray">
    <td uib-tooltip-html="getHtml(object.value1)">{{object.value1}}<td>
    <td uib-tooltip-html="getHtml(object.value2)">{{object.value2}}<td>
    <td uib-tooltip-html="getHtml(object.value3)">{{object.value3}}<td>
</tr>

$scope.getHtml = function (value) {
    var textOutput = doSomethingWithObjectDataAndCreateHtmlFromIt(value);
    return $sce.trustAsHtml(textOutput);        
}

但這是行不通的。 當我使用uib-tooltip而不是uib-tooltip-html我可以看到其中帶有正確html(未解析)的工具提示,但是如果將其更改為uib-tooltip-htmluib-tooltip-html再次出現錯誤。

在第一種情況下, $scope.getHtml最終是一個string

第二種情況下, $scope.getHtml最終是一個function ,它返回與第一種情況相同的字符串。

但是,如果您在第二種情況下調用函數,則它將起作用,因為它實質上是相同的代碼:

$scope.getHtml = function () {
    var textOutput = "<div>Text</div>";
    return $sce.trustAsHtml(textOutput);        
} ()

如果要在ng-repeat中傳遞html數據,請執行以下操作:

$scope.getHtml = function (html) {
    return $sce.trustAsHtml(html);        
}

並通過以下方式使用它:

<div uib-tooltip-html="getHtml()">Test</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM