Angularjs 基于集合值的重复和筛选列表
下面是我在Angularjs 基于集合值的重复和筛选列表,angularjs,angularjs-ng-repeat,filtering,ng-repeat,Angularjs,Angularjs Ng Repeat,Filtering,Ng Repeat,下面是我在ng repeat中运行的数据示例。是否可以通过ngRepeat运行它,但仅当lineNum>=1和lineNum是时,只要在ngRepeat元素上使用ng即可。我还假设您的数据有语法错误,并假设它看起来像: $scope.myData = { "00100":{ lineNum: 1.00, Columns: {..} } "00200":{ lineNum: 2.00, Columns: {..} } "02000":{ lineNum: 20.00, Co
ng repeat
中运行的数据示例。是否可以通过ngRepeat运行它,但仅当lineNum>=1
和lineNum是时,只要在ngRepeat
元素上使用ng即可。我还假设您的数据有语法错误,并假设它看起来像:
$scope.myData = {
"00100":{ lineNum: 1.00, Columns: {..} }
"00200":{ lineNum: 2.00, Columns: {..} }
"02000":{ lineNum: 20.00, Columns: {..} }
"20000":{ lineNum: 200.00, Columns: {..} }
}
还有HTML
<div ng-repeat="(key, value) in myData" ng-if="value.lineNum > 1 && value.lineNum < 10">
{{key}}
</div>
{{key}}
不确定您的数据是什么类型的,但包含以下数据列表:
var records = {
lineNum: 1.00, Columns: {..},
lineNum: 2.00, Columns: {..},
lineNum: 20.00, Columns: {..},
lineNum: 200.00, Columns: {..},
};
你可以这样写:
<div ng-repeat="record in records" ng-if="record.lineNum >= 1 && record.lineNum <= 10">{{record.lineNum}}
</div>
{{record.lineNum}
这是一种变通方法,因为您需要在HTML本身中进行操作。这是什么类型的数据?它既不是对象也不是数组?@ShashankAgrawal抱歉,已更新数据您可以使用过滤器来完成此操作。一个例子必须使用对象重复语法:(k,v)在obj
中是的,我根据例子解释:)将更新它,并且可能,我将删除我的答案,因为你和我的答案将变得相同:-)这不是有很多开销吗?这只是一个小样本数据(我更新了我的原始数据,我确实有语法错误)。我并不反对编写自定义过滤器,我只是不想有多个变量,然后在控制器中拆分集合loads@collinszac10--您根本没有拆分集合—如果有什么区别的话,那么开销就更少了<如果不满足条件,code>ngIf
甚至不会将内容附加到DOM。
<div ng-repeat="record in records" ng-if="record.lineNum >= 1 && record.lineNum <= 10">{{record.lineNum}}
</div>