向ubb -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 Uncaught Error: [$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-html
,则再次出现错误。
在第一个情况下,$scope.getHtml
最终是字符串。
在第二个情况下,$scope.getHtml
最终成为函数,返回与第一个情况相同的字符串。
然而,如果你在第二种情况下调用你的函数,它将工作,因为它本质上是相同的代码:
$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>
相关文章:
- 如何在调用javascript函数时将javascript触摸旋转添加到html中
- 使用ja将对象添加到HTML画布中
- 在输入中添加打断html的字符
- 如何自动将页码添加到HTML页面上的所有内部链接
- 如何将value和id动态添加到html下拉选项标记中
- jQuery美国地图插件-为每个点击状态添加unique.html
- 为什么我的JS不添加一个HTML类
- 将变量和输出添加到 html
- Javascript 将行添加到 HTML 表和增量 ID
- AngularJS translate & ui tooltip html
- 将 JavaScript 变量添加到 HTML 元素
- 超时后无法删除新添加的 HTML 元素
- 通过jquery添加部分HTML代码
- 将递增变量添加到Html Select的Id中
- 如何在D3.js中将点击按钮动态添加到html表中
- 将类添加到html根目录
- 如何使用javascript Json动态添加到html表中
- 如何使用jQuery.ajax动态修改添加的html
- 当上一行/当前行被填充时,将新行添加到HTML表中
- 向ubb -tooltip-html添加内容