gpt4 book ai didi

javascript - 通过匹配另一个数组的值来进行 Angular ng-repeat 过滤

转载 作者:行者123 更新时间:2023-11-30 07:38:09 24 4
gpt4 key购买 nike

我真的很难弄清楚如何通过匹配键基于另一个范围对象(指标和维度)过滤一个范围对象(row.matric && row.dimension)。

下面的代码是我正在使用的对象的示例。

ng-repeat="row in rows” 部分;我只需要显示 row.metric 或 row.dimention 当且仅当其伙伴指标或维度具有 tabled 设置为 true。

row.metric 和 row.dimension 通过键 key 与 metric 和 dimension 匹配。

例如:应该显示 row.metric ‘visits’,但不应显示 ‘pageviews’。

这是一个 Plunker(这个而不是下面的鳕鱼)不应显示数字 400 和 20。

http://plnkr.co/edit/t15L5y40h8enPzUkkaJw?p=preview

HTML:

<table class="table">
<thead>
<tr>
<th class="dimension" ng-repeat="dimension in dimensions | filter:{tabled:true}" >{[{ dimension.name }]}</th>
<th class="metric" ng-repeat="metric in metrics | filter:{tabled:true}" >{[{ metric.name }]}</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="row in rows">
<td class="dimension" ng-repeat="dimension in row.dimensions" >{[{ dimension.value }]}</td>
<td class="metric" ng-repeat="metric in row.metrics" >{[{ metric.current }]}</td>
</tr>
</tbody>
</table>

对象:

metrics Example: [
{
name: 'Visits',
key: 'visits',
tabled: true
},
{
name: 'Page Views',
key: 'pageviews',
tabled: fales
}
]

dimension Example: [
{
name: 'Source',
key: 'source'
tabled: true
},
{ ... }
]


row Example: {
metrics: [
{key: 'visits', current: '203'},
{key: 'pageviews', current: '104'},
{...}
]
dimensions: [
{key: 'source', value: 'google'},
{...}
]
}

最佳答案

在#angularjs IRC 中回答。

这是解决问题的插件。请注意,这可能不是最高性能的,建议重构数据。

将 ng-if 与作用域函数结合使用

  $scope.isTabled = function(key) {
console.log(key);
return _.find($scope.metrics,function(o){
return o.key == key;
}).tabled;

http://plnkr.co/edit/tUNFx5uli4ABDQcpkUjx?p=preview

关于javascript - 通过匹配另一个数组的值来进行 Angular ng-repeat 过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25819195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com