angularJS $scope的$apply方法实现model刷新
控制器内,$scope有个$apply方法,可以代码更改model并同步更新页面。通常,控制器内的方法执行完毕后仅会自动刷新一次页面展示,使用$apply方法即可在想刷新页面时就刷新。如本例,这个方法接收function类型的参数。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script> </head> <body> <div ng-app="myApp"> <div ng-controller="firstController"> {{ date }} <br><br> {{ count }} </div> </div> <script> //用 $scope的$apply方法实现每秒自动刷新model angular.module('myApp',[]) .controller('firstController',function($scope){ $scope.date=new Date(); $scope.count=0; setInterval(function(){ $scope.$apply(function(){ $scope.date=new Date(); $scope.count++; }); },1000); }); </script> </body> </html>
第二种
var myApp = angular.module("myApp",[]); myApp.controller("mainController", function ($scope) { $.get("/articlelist",{},function(data){ $scope.data=data; }); $scope.updatedate = function(id,age){ $.get("/update",{id:id,age:age},function(data){ item.age=age;//这里你会发现值变了,但页面没刷新 $scope.$apply();//需要手动刷新 console.log(item); }); } });