从模态调用返回时,ng-repeat不会更新

时间:2017-04-03 20:01:32

标签: angularjs

我的html中有以下代码:

   <li class="col-md-4 my-show-hide-animation" ng-hide="sr.hidden" ng-repeat="sr in gmCtrl.gmSRs" ...

上面的html页面有一个进行模态调用的按钮。 我有另一个html / js页面,可以模态和非模态访问。

从模态调用回来之后我有了这个:

  if (!$rootScope.$$listenerCount['sr.CreateDone']) {
          $rootScope.$on('sr.CreateDone', function(event, data) { 
                      ctrl.gmSRs.push(data.sr);
          $uibModalStack.dismissAll();            
      });
  }

现在......这实际上一遍又一遍地起作用。然而,当我以非模态方式进入目标html / js(也可以)时,模态方式不再有效。在调试器中,我可以看到data.sr对象被添加到数组中,我可以看到数组被更改,但它没有反映在视图中。有任何想法吗???我假设我有某种范围问题或者它有一些奇怪的angularjs bug。

这是电话:

      ctrl.modalInstance = $uibModal.open({templateUrl: "standardresponse/standardresponse.html",
         controller: "StandardresponseController",
         controllerAs: "standardresponseCtrl",
         size: "lg",
         keyboard: true,
         backdrop: 'static',
         windowClass: "app-modal-window",
  });

我还添加了一行代码,显示我只有1个侦听器正在运行。

1 个答案:

答案 0 :(得分:0)

如果阵列正在更改,但未在视图中显示,则表示摘要周期未在$scope上正常运行。您可以通过致电$scope.apply()手动修复此问题,但您可能需要重新考虑您的设计。