【问题标题】:Does Angular Dart support ng-repeat-start and ng-repeat-end?Angular Dart 是否支持 ng-repeat-start 和 ng-repeat-end?
【发布时间】:2014-06-13 18:12:19
【问题描述】:

AngularJS 支持 ng-repeat-start 和 ng-repeat-end 指令以使 ng-repeat 与几个同级元素重复。 Angular Dart 中是否有类似的功能或不同的方法来实现这一点?

我正在尝试遍历菜单对象并将其显示在 Bootstrap 下拉菜单中。每次我重复 dropdown-header 元素时,我都希望 divider 出现在它之前(第一次除外,我将在稍后处理)。

<div class="btn-group open">
  <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
    Dropdown <span class="caret"></span>
  </button>
  <ul class="dropdown-menu" role="menu">
    <li class="dropdown-header">Category 1</li>
    <li><a href="#">Item 1</a></li>
    <li><a href="#">Item 2</a></li>
    <li class="divider"></li>
    <li class="dropdown-header">Category 2</li>
    <li><a href="#">Item 3</a></li>
    <li><a href="#">Item 4</a><a></a></li><a>
  </a></ul><a>
</a></div>

Demo

这是我所拥有的,但我不确定如何处理分隔线:

<ul class="dropdown-menu" ng-if="menuItem.hasSubPages">
    <li class="divider"></li><!-- not sure what to do with this -->
    <li ng-class="{'dropdown-header': subMenuItem.isCategory}" ng-repeat="subMenuItem in menuItem.subMenuItems" ng-switch="subMenuItem.isCategory">
        <a href="#/{{menuItem.url + '/' + subMenuItem.url}}" ng-switch-when="false">{{subMenuItem.name}}</a>
        <span ng-switch-when="true">{{subMenuItem.name}}</span>
    </li>
</ul>

谢谢!

【问题讨论】:

    标签: dart angular-dart


    【解决方案1】:

    实际上 AngularDart 不支持 ng-repeat-start 和 ng-repeat-end 指令。

    正如您在AngularDart API 中看到的那样,没有可用于此类指令的参考。

    但是您可以通过将元素封装到新组件中来完成您想要的操作,如下所述:Creating a Custom Component

    【讨论】:

    • 我想创建一个组件是可行的,但我觉得用一个组件类和一个只有 3 行的 HTML 模板创建一个完整的组件似乎有点矫枉过正,而且不是很干净。
    • 这看起来像是被过度使用了,在其他情况下,您可以简单地在您周围放置一个&lt;span&gt;&lt;/span&gt; 应答器&lt;ul&gt;&lt;/ul&gt;&lt;li&gt;&lt;/li&gt; 应答器并在跨度上执行ng-repeat
    • 嗯。一开始我认为这是个好主意,但我意识到在&lt;li class="divider"&gt;&lt;/li&gt;&lt;li class="dropdown-header"&gt;Category 2&lt;/li&gt;&lt;li&gt;&lt;a href="#"&gt;Item 3&lt;/a&gt;&lt;/li&gt; 周围放置一个跨度会破坏第 3 项的样式。我真的不想修复 Bootstrap CSS...
    • 好的,所以组件是我能给你的最好建议
    • 也许我对组件的理解不够好。但是如果我创建一个menuItem 组件并使用&lt;menu-item&gt;&lt;/menu-item&gt; 将其放在页面上,该元素将被添加到DOM 并会破坏&lt;li&gt; 需要是&lt;ul&gt; 的直接子级的CSS,但现在有&lt;menu-item&gt; 介于两者之间,对吗?有没有办法让它替换元素?
    猜你喜欢
    • 2013-08-11
    • 2016-12-26
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    • 2014-01-18
    相关资源
    最近更新 更多