每个用户有几个电子邮件地址,我想为每个地址分别提供两个选项;一种是直接发送电子邮件,另一种是通过网络表单发送消息。但是,如何在单个<li>
元素下登记两个ngRepeated
元素?
如果我这样做:
<span ng-repeat="email in User.emails">
<li><a ng-attr-href="mailto:{{ email }}">Email {{ email }}</a></li>
<li><a ng-href="#/SendMessage?email={{ email }}">Send message to {{ email }}</a></li>
</span>
然后我打破了HTML结构和语义。
如果我这样做:
<li ng-repeat="email in User.emails"><a ng-attr-href="mailto:{{ email }}">Email {{ email }}</a></li>
<li ng-repeat="email in User.emails"><a ng-href="#/SendMessage?email={{ email }}">Send message to {{ email }}</a></li>
然后电子邮件没有按顺序排列(因为首选顺序是首先提供主电子邮件地址)。
理想输出,假设您的电子邮件地址为chuck.norris@example.org
和chuck@example.com
(hrefs
除了只是为了让阅读更清晰),将是:
<ul>
<li><a href="...">Email chuck.norris@example.org</a></li>
<li><a href="...">Send message to chuck.norris@example.org</a></li>
<li><a href="...">Email chuck@example.com</a></li>
<li><a href="...">Send message to chuck@example.com</a></li>
</ul>
如何在不将不允许的元素添加到<ul>
?
答案 0 :(得分:1)
如果您想保持结构相同,可以使用ng-repeat-start
和ng-repeat-end
。查看https://docs.angularjs.org/api/ng/directive/ngRepeat并查找特殊重复开始和结束点部分