在AngularJS中给一个临时变量赋值一些集合变量

Assign some collection variable to a temporary variable in AngularJS

本文关键字:变量 赋值 集合 一个 AngularJS      更新时间:2023-09-26

我在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}}
如您所见,列表具有相同的结构,因此代码是重复的。我想在这里看到的是像分配帐户或标签数组给一些临时变量,例如项目,然后在创建列表时显示处理临时变量。

我怎样才能用最美丽、最合乎逻辑的方式去做呢?

可能是这样的:

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中引入三元分句,但现在你可以使用这个,我相信。