只是页面中的一个ng-bind-html工作

时间:2014-11-06 10:46:38

标签: javascript angularjs bind

我写了angularjs应用程序并拥有这段代码但只是第一个html-bind-html适用于我

<div ng-bind-html='newsTitle'>
  <div ng-bind-html='newsDetail'></div>
</div>

当我改变这样的优先级时:

<div ng-bind-html='newsDetail'>
  <div ng-bind-html='newsTitle'></div>
</div>

显示newsDetail值。 我可以声明每页有多少ng-bind-html?为什么第二个值没有显示?

3 个答案:

答案 0 :(得分:2)

我想我理解你的问题。

<div ng-bind-html='newsTitle'> <!-- This will replace the content of the div with $scope.newsTitle -->
  <div ng-bind-html='newsDetail'> <!-- So this won't appear, because it has been removed by  ng-bind-html='newsTitle' -->
  </div>
</div>

在代码中查看我的评论。因此,如果您首先放置newsDetails,绑定的HTML($ scope.newsDetail)将替换当前内容。

总之, ng-bind-html 会使用您提供的绑定HTML替换元素的当前内容。所以你不应该把HTML放在这些元素中。

你只需做这样的事情:

<div class="news">
 <div ng-bind-html='newsTitle'></div>
 <div ng-bind-html='newsDetail'></div>
</div>

有关ngBindHtml指令的一些文档:https://docs.angularjs.org/api/ng/directive/ngBindHtml

答案 1 :(得分:1)

如果它是你的HTML的真实副本。然后我想这是结构问题。请关闭你的区块:

<div> </div>

答案 2 :(得分:1)

你可以试试这样写

 <div><span ng-bind-html='newsTitle'></span></div>
 <div><span ng-bind-html='newsDetail'></span></div>