我在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,然后在创建列表时显示处理该临时变量。
我怎样才能以最美丽和最逻辑的方式做到这一点?
答案 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中引入三元条款但是现在你可以使用这个我相信。