谈angularJs中的apply()
当触发事件click()及setTimeout(),$timeout这些要更新DOM要使用apply(),不然模板更新了,但DOM更新不了。 后台可以打印出来, 详细;http://blog.csdn.net/dm_vincent/article/details/38705099
还可以简单粗暴scope。scope.$apply()
Delayed Message: {{message}}
angular.module('myApp',[]).controller('MessageController', function($scope) { $scope.getMessage = function() { setTimeout(function() { $scope.message = 'Fetched after 3 seconds'; console.log('message:'+$scope.message); }, 2000); } $scope.getMessage(); }); 不起作用,以下改善。
angular.module('myApp',[]).controller('MessageController', function($scope) { $scope.getMessage = function() { setTimeout(function() { $scope.$apply(function() { //wrapped this within $apply $scope.message = 'Fetched after 3 seconds'; console.log('message:' + $scope.message); }); }, 2000); } $scope.getMessage(); }); 事件类型;
{{message}}
var appd = angular.module("APP",[]);appd.directive("testDw", function(){return{//restrict:"A",//scope:true,restrict:"AE",template:"{{message}}",//replace:true,link:function(scope, element, attrs){element.bind("click", function(){//scope.$apply(function(){scope.message="这就对啦";console.log(scope.message)//})} )},}}) 改善,
{{message}}
转载于:https://my.oschina.net/u/3427060/blog/1524840
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
