因此,当我使用此代码时,data-ng-bind-html正确显示主题,但当我实际使用topic.pagetitle时,没有任何显示,则有一个空标记。有人知道会发生什么吗?
<div class="well">
<ul class="filterByTopic">
<li ng-repeat="topic in topics">
<a href="" data-ng-bind-html="topic.pagetitle" ng-class="{active: topic.id == activeTopic}">{{topic.pagetitle}}</a>
</li>
</ul>
</div>
答案 0 :(得分:2)
您正试图在安全的上下文中使用不安全的值。见Strict Contextual Escaping
答案 1 :(得分:2)
ngBindHtml
通过在元素上设置innerHTML来工作。这意味着您放在该标记内的任何内容都将被ngBindHtml值覆盖。这在该指令https://docs.angularjs.org/api/ng/directive/ngBindHtml
以下是一个示例(为简洁起见缺少代码):
<强> CONTROLLER 强>
...
scope.foo = '<b> I am the foo </b>'
scope.bar = 'Bar'
...
查看强>
<div ng-bind-html="foo">{{ bar }}</div>
<div ng-bind-html="foo"></div>
<div>{{ bar }}</div>
<强> BROWSER 强>
我是foo
我是foo
杆