$apply(),$digest()用法

来源:互联网 发布:网络金融销售是诈骗吗? 编辑:程序博客网 时间:2024/04/28 19:06

http://www.tuicool.com/articles/bAJVBvB这篇已经写得很详细了,可以去看看


有个疑问就是在手动使用$apply()的时候,会出现'$apply already in progress' 的错误,经过查资料,看到一个好的解决方法

$scope.safeApply = function(fn) {  var phase = this.$root.$$phase;  if(phase == '$apply' || phase == '$digest') {    if(fn && (typeof(fn) === 'function')) {      fn();    }  } else {    this.$apply(fn);  }};
然后使用safeApply方法即可
$scope.safeApply(function() {  alert('Now I'm wrapped for protection!');});


0 0
原创粉丝点击