我有一个输入字段,您可以在其中指定最小评论数。我还有一个函数可以更新ng-repeat
填充和创建表的数据。但我需要的是,当你在输入字段中键入一些数字时,我的这个函数会自动运行并更改数据,这意味着我的表是自动更新的。这是某种双向绑定。 (我不想直接在我的ng-repeat
上使用过滤器,非常频繁地过滤角度并降低性能)
这是我的输入字段:
<label>Reviews Min: <input type="number" ng-init="revNum=30" class="form-control review-input" min="0" step="10" ng-model="filterValues.revNum" /></label>
这是我的ng-repeat
:
ng-repeat="car in sortedCarList"
这是功能:
$scope.formattedTable = function(index){
$scope.initCarList(index);
$scope.sortedCarList = [];
var carlistLength = $scope.carList.length;
for (var i=0;i<carlistLength;i++){ // just checks every row if values passes user requirements like: min number of review and price range
var rowBool = $scope.tableFilter($scope.carList[i]);
if (rowBool){
$scope.sortedCarList.push($scope.carList[i]);
}
}
}
我如何实现这一目标?
答案 0 :(得分:1)
每次输入更改时,使用ng-change
指令运行特定的函数。
<label>Reviews Min: <input type="number" ng-init="revNum=30" class="form-control review-input" min="0" step="10" ng-model="filterValues.revNum" ng-change="formattedTable()" /></label>
答案 1 :(得分:1)
有两种方法:
a)观察者:
$scope.$watch('filterValues.revNum', function() {
$scope.formattedTable();
});
b)ng-change:
<label>Reviews Min: <input type="number" ng-init="revNum=30" class="form-control review-input" min="0" step="10" ng-model="filterValues.revNum" ng-change="formattedTable()"/></label>