ng-repeat声明的变量未在控制器中更新

时间:2015-06-22 02:05:25

标签: angularjs angularjs-scope angularjs-ng-repeat angularjs-filter

我在控制器中声明了一个$ scope变量:

$scope.filteredPayments = [];

我的HTML中有ng-repeat运行以下内容:

ng-repeat="payment in filteredPayments = payments"
从Parse填充

payments asynch。它可以正常工作并相应地填充我的表。

以下手表也不会触发:

$scope.$watch('filteredPayments', function(newValues) {
    console.log(newValues);
}

为什么我的控制器中没有更新filteredPayments,特别是因为我没有定义过滤器,它显示了我后端的所有付款?

1 个答案:

答案 0 :(得分:0)

看起来您正试图绑定付款以过滤ng-repeat中的付款,例如

filteredPayments = payments

你应该做的是更新$ scope.filteredPayments,因为这就是重复运行的内容。所以也许你的解析(或任何你喜欢的)的$ q承诺然后设置。有点像这样的东西(我再也不知道你是如何得到你的数据的。

 //retrieve new data

 .then(function(newData){

  $scope.filteredPayments = newData;
  });

或者可能是简单的事情,只要您确定付款变量更新如下:

$scope.filteredPayments = payments;