我正在尝试使用ng-bind-html将一些不同的html代码连接到我的视图。
我已添加ngSanitize
首先,我ng-for
ui-select-choices
<ui-select-choices repeat="test in dataTest>
。我想将test.name
绑定到一些Html
<small> ( {{ TEST_BTN | translate }}) </small>
Test_BTN 正用于翻译目的,因此我不能将其从代码中删除。
当我尝试在ng-bind-html
中使用它们时,将不显示任何内容
当我尝试在ng-bind
中使用它们时,将显示html代码。
当我尝试单独使用ng-bind
和ng-bind-html
时,ng-bind-html
html将不会显示。
我想怎么解决这个问题?
编辑:我想在ng-if
类似于:<div data-ng-if="test.isSomething" ng-bind="test.name" ng-bind-html="' <small>({{'BTN_ADD' | translate}})</small>'" ></div>
(不显示ng-bind-html
部分)
编辑2:
我从{{ }}
删除了data-ng-bind-html
,并在我的控制器中明确使用了$translate
服务。
它奏效了。
答案 0 :(得分:0)
您不能在同一元素上使用ng-bind
和ng-bind-html
,也不能在其中任何一个元素中使用{{}}
。没有必要在<small>
内连接ng-bind-html
标记,它应该在模板本身中。你的ng-bind-html子句中有一些语法错误嵌套引号问题。
我从您的描述中不清楚您实际打算使用哪test.name
,TEST_BTN
或BTN_ADD
;我假设你真的想要test.name
,但如果其中一个变量包含你想要嵌入的HTML,只需用它的名字代替test.name:
<div ng-if="test.isSomething">
<small ng-bind-html="test.name | translate"></small>
</div>