Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不带html元素的ng repeat_Javascript_Html_Css_Angularjs - Fatal编程技术网

Javascript 不带html元素的ng repeat

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>

我正试图生成一个博客列表,但我遇到了一个问题与ng重复。我的清单是这样的

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