0

我在 Angular 范围内有两个数组 - 标签和帐户。每个数组中的项目具有相同的结构。我还有一个模板可以以相同的方式显示帐户和标签数组中的项目。但是由于集合有不同的名称 - 标签和帐户,我必须像这样使用它(Jade):

  div(ng-switch on="activeEntriesFilter")
    div(ng-switch-when="accounts")
      ul.items-list
        li.item-row(ng-repeat="account in accounts", ng-click="setActiveGroupFilterItem(account)")
          span.title {{account.value.title}}
    div(ng-switch-when="tags")
      ul.items-list
        li.item-row(ng-repeat="tag in tags", ng-click="setActiveGroupFilterItem(tag)")
          span.title {{tag.value.title}}

如您所见,列表具有相同的结构,因此代码是重复的。相反,我想在这里看到的是将帐户或标签数组分配给某个临时变量(例如项目),然后在创建列表时显示处理该临时变量。

我怎样才能以最美丽和最合乎逻辑的方式做到这一点?

4

1 回答 1

0

可能是这样的:

div(ng-switch on="activeEntriesFilter")
    ul.items-list
        li.item-row(ng-repeat="entry in (activeEntriesFilter == 'accounts' && accounts || tags)", ng-click="setActiveGroupFilterItem(entry)")
            span.title {{entry.value.title}}

他们将在 1.2 中引入三元从句,但我相信现在你可以使用它。

于 2013-06-13T15:16:39.640 回答