错误:使用alert时,$digest已经在angularjs中进行

我只是从控制器中的服务获取json数据.

我正在使用回调函数打印成功消息,当它加载.它工作正常,但它也抛出了我在问题中提到的错误

//JSON file
{
"pc":"name"
}

// angular services
var service = angular.module('Services',['ngResource']).
factory('Widgets',function($resource){
    return $resource('/json/home.json',{},{
        query: {method:'GET',params:{},isArray:false}
    });
});

//controller
function editWidget($scope,Widgets) {
 $scope.data = Widgets.query(function(data) {   
    alert("Success Data Loaded ---> " + JSON.stringify(data.pc));
 });
}

解决方法

警报,以及确认和提示将暂停执行代码(阻止线程),在此期间超时和间隔将全部haywire,如果它们应该在暂停期间被触发. $digest循环由两个较小的循环组成,它们处理$evalAsync队列和$watch列表. $evalAsync队列用于调度需要在当前堆栈帧之外但在浏览器视图渲染之前进行的工作.这通常用setTimeout(0)完成.此时您的警报会导致问题.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...