您的位置:首页 > 移动开发

angulajs 中 $scope.$apply方法的作用

2017-09-23 00:00 141 查看

angulajs 中 $scope.$apply方法的使用

引出$apply的使用

angular本身提供的事件方法可以正常修改页面值 因为他本身自己调用了$scope.apply方法

当我们通过原生JS或者第三方库修改了angularjs中的数据 angularjs监控不到 所以我们要手动通知angularjs 说 js中的数据变了 你帮我更新一下HTML吧

<body ng-app="myApp" ng-controller="demoCtrl">
{{ msg }}
<!-- <button ng-click="modify()">修改值</button> -->
<button onclick="modify()">修改值</button>
<script src="node_modules/angular/angular.js"></script>
<script>

angular.module('myApp',[])

.controller('demoCtrl',['$scope',function($scope){

$scope.msg = "我是msg";

/*$scope.modify = function(){
//angular方法可以正常修改
$scope.msg = "我是通过modify方法修改的值";
}*/

//以下两个示例是js代码,无法更新值变化,需手动更新
window.modify = function(){
$scope.msg = "我是通过原生点击事件修改的值";
// 当我们通过原生JS或者第三方库修改了angularjs中的数据 angularjs监控不到 手动更新
$scope.$apply();
}

setTimeout(function(){
// $scope.msg = "我是通过setTimeout修改的值";
// $scope.$apply();
},2000);

}])
</script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  AngularJS $scope.$apply