将一些集合变量分配给AngularJS中的临时变量

时间:2013-06-13 15:12:03

标签: javascript html angularjs

我在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}}

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

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

1 个答案:

答案 0 :(得分: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中引入三元条款但是现在你可以使用这个我相信。