varappElement=document.querySelector('[ng-controller=seatsCtrl]');var$scope=angular.element(appElement).scope(); $scope.$apply(function(){ $scope.data=[ {id:1,cnt:4},{id:3,cnt:5},{id:2,cnt:6} ]; });@H_301_1@
@H_301_1@取到scope,然后调用$apply@H_301_1@或者在controller里写一个function@H_301_1@$scope.update=function(data){ $scope.data=data; $scope.$apply(); }@H_301_1@外部调用这个function
varele=document.querySelector("[ng-controller=seatsCtrl]"); angular.element(ele).scope().update([ {id:1,cnt:7},cnt:8},cnt:9} ]);@H_301_1@注意function内部,需要调用$apply()
如果不调用apply,虽然scope的数据变化了,但并不会更新到页面上去显示
从非angularjs的js代码中去改变angularjs的controller的数据,或许,这并不是标准的angularjs的用法,但可能会遇到需要这样做的时候。