Javascript 数据绑定html可以工作,但不能使用大括号{{}

Javascript 数据绑定html可以工作,但不能使用大括号{{},javascript,angularjs,Javascript,Angularjs,因此,当我使用这段代码时,数据绑定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

因此,当我使用这段代码时,数据绑定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>


您试图在安全上下文中使用不安全的值。请参见
ngBindHtml
通过在元素上设置innerHTML来工作。这意味着您放入该标记中的任何内容都将被ngBindHtml值覆盖。该指令的文档顶部提到了这一点

下面是一个示例(为简洁起见,缺少代码):

控制器

...
scope.foo = '<b> I am the foo </b>'
scope.bar = 'Bar'
...
。。。
scope.foo='我就是foo'
scope.bar='bar'
...
查看

<div ng-bind-html="foo">{{ bar }}</div>
<div ng-bind-html="foo"></div>
<div>{{ bar }}</div>
{{bar}
{{bar}}
浏览器

...
scope.foo = '<b> I am the foo </b>'
scope.bar = 'Bar'
...
我是福
我是福

Bar

不管怎样,在同一个元素中同时使用这两个元素是没有意义的。是的,我明白了,我使用data ng bind html的唯一原因是为了测试,理想情况下它是不需要的,只有花括号,似乎花括号没有划分“topic.pagetitle”到底是什么?如果它包含HTML,angular出于安全原因不会用花括号绑定它。好提示Jason,它只是一个JSON数据是的,我注意到了,但出于某种原因,topic.pagetitle在使用ng bind时有效,但在花括号{{topic.pagetitle}中使用时无效,它只是空白,知道为什么吗?不确定为什么会发生这种情况。Angular自动信任以这种方式插值的值,因此视图应该打印出页面标题。如果发现问题,请告诉我!这对我来说是个新闻。更多投票,请回答问题。