ngRepeat 和基于集合值的过滤列表

ngRepeat and filtering list based on collection value

下面是我 运行 通过 ng-repeat 的数据示例。是否可以通过 ngRepeat 运行 它但只能在 HTML 中 lineNum >= 1lineNum <= 10 的地方?我可以通过创建单独的变量并使用 linq.js 之类的另一个插件来做到这一点,但我希望避免这种情况。

{
    "00100":{ lineNum: 1.00, Columns: {..} }
    "00200":{ lineNum: 2.00, Columns: {..} }
    "02000":{ lineNum: 20.00, Columns: {..} }
    "20000":{ lineNum: 200.00, Columns: {..} }
}

是的,只需在 ngRepeat 元素上使用 ng-if。我还假设您的数据有语法错误并假设它看起来像:

$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>

不确定,你的数据是什么类型,但数据列表如下:

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>

这是一种解决方法,因为您想在 HTML 本身中进行。