Javascript 不带html元素的ng repeat
我正试图生成一个博客列表,但我遇到了一个问题与ng重复。我的清单是这样的Javascript 不带html元素的ng repeat,javascript,html,css,angularjs,Javascript,Html,Css,Angularjs,我正试图生成一个博客列表,但我遇到了一个问题与ng重复。我的清单是这样的 <ul> <li> <h2>Title</h2> <p>Message</p> </li> <li> <h2>Title</h2> <p>Message</p> </li>
<ul>
<li>
<h2>Title</h2>
<p>Message</p>
</li>
<li>
<h2>Title</h2>
<p>Message</p>
</li>
<span class="sep2"></sep>
<li>
<h2>Title</h2>
<p>Message</p>
</li>
<li>
<h2>Title</h2>
<p>Message</p>
</li>
<span class="sep2"></sep>
<li>
<h2>Title</h2>
<p>Message</p>
</li>
<li>
<h2>Title</h2>
<p>Message</p>
</li>
</ul>
-
标题
信息
-
标题
信息
-
标题
信息
-
标题
信息
-
标题
信息
-
标题
信息
因此,在每2个列表项之后,我就有一个跨度,可以将接下来的2个框进行分级。
现在我有了这个角度代码
<ul>
<li ng-repeat="post in postsJSON">
<h2>{{post.title}}</h2>
<p>{{post.message}}</p>
</li>
</ul>
-
{{post.title}
{{post.message}
我不知道如何在每一个列表项之后生成跨度。
先谢谢你,丹尼尔 这里的问题不是角度,而是标记的结构。ul标签通常应仅包含li标签作为子标签 为了解决您的问题,我将坚持使用您已有的ng repeat,并使用css创建分隔符。诸如此类:
<ul class="blog list">
<li ng-repeat="post in postsJSON" class="blog entry">
<h2>{{post.title}}</h2>
<p>{{post.message}}</p>
</li>
</ul>
或者,如果您需要对分隔符进行更多控制,请使用css:after并执行以下操作
.blog.entry:after {
content : "";
...
}
如果您不熟悉:使用angular v1.2查看后,使用
ng repeat start
、ng repeat end
和ng If
,您可以在此处查看:
您的代码如下所示:
<ul>
<li ng-repeat-start='post in postsJSON'>
{{post.item}}<br/>
{{post.message}}
</li>
<span ng-if="$odd && !$first" ng-repeat-end>
<span class="sep2">_____</span>
</span>
</ul>
-
{{post.item}}
{{post.message}
_____
ng repeat start/end
允许您在一个标记中输入一个循环,然后在另一个标记中关闭它。在本例中,我还使用ng repeat
的$odd参数添加了一个条件,仅显示每隔一个span您真的需要span
?似乎这可以通过n个子css选择器来完成。还有span
在ul
中?我的帖子在3列上,每列的高度不同,如果我不使用100%宽度的跨距,第一列下面的帖子将定位wierd。我不能使用表格,因为我的布局很灵敏,ipad上的3列变成了2列。你可能也想发布你的css,或者设置一个plunker/fiddle。这看起来更像是一个css问题,而不是js问题。然而span
不应该是ul
;的孩子没错,我只是提供了一个解决公开问题的解决方案,这将生成所要求的代码,即使它以前违反了约定;)我也会使用类似于nth child的东西,但如果没有任何css或更多内容,很难提醒您这一点是正确的,+1用于显示angular 1.2的新功能!非常感谢你,我用了这个,效果很好:)因为IE8,我不使用N:child
<ul>
<li ng-repeat-start='post in postsJSON'>
{{post.item}}<br/>
{{post.message}}
</li>
<span ng-if="$odd && !$first" ng-repeat-end>
<span class="sep2">_____</span>
</span>
</ul>