data-ng-bind-html有效,但不是{{}}括号

时间:2014-11-18 19:57:35

标签: javascript angularjs

因此,当我使用此代码时,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>

2 个答案:

答案 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