2014-11-06 39 views
0

我写angularjs应用,并有这个代码块,但只是第一个HTML绑定HTML的工作对我来说刚刚页面工作NG绑定,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?为什么第二个值不显示?

+0

是你的div标签不关闭?无论如何,我不确定你可以把一个ng-bind-html放在另一个ng-bind-html中。 – enguerranws 2014-11-06 10:54:15

+0

他们有密切的标签 – 2014-11-06 18:49:15

+0

是的,所以看看我的答案,它会解决您的问题。 – enguerranws 2014-11-07 10:34:59

回答

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

如果它是你的html的真实副本。那么我认为这是结构问题。请关闭您的区块:

<div> </div> 
1

你可以尝试写这样

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