Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 等待http响应的Angularjs fa微调器有时会挂起_Javascript_Angularjs - Fatal编程技术网

Javascript 等待http响应的Angularjs fa微调器有时会挂起

Javascript 等待http响应的Angularjs fa微调器有时会挂起,javascript,angularjs,Javascript,Angularjs,因此,我有一个简单的代码,可以在api调用仍在进行时显示一些视觉效果。详情如下: 类控制器{ 建造商(apiService){ 这个。_apiService=apiService; this.loadStatus=“”; this.data=null; } loadData(){ this.loadStatus=“正在加载”; 这是。_apiService.call() 。然后(res=>{ this.loadStatus=“成功”; 这个数据=res; }) .catch(错误=>{ this

因此,我有一个简单的代码,可以在api调用仍在进行时显示一些视觉效果。详情如下:

类控制器{
建造商(apiService){
这个。_apiService=apiService;
this.loadStatus=“”;
this.data=null;
}
loadData(){
this.loadStatus=“正在加载”;
这是。_apiService.call()
。然后(res=>{
this.loadStatus=“成功”;
这个数据=res;
})
.catch(错误=>{
this.loadStatus=“失败”;
});
}
}

加载失败!

{{$ctrl.data}

api只调用$http并在处理http响应后返回一个承诺


现在我的问题是,“有时”微调器停止旋转,屏幕挂在加载微调器上,虽然出现了响应,浏览器加载了视图,但它们不可见,我知道视图是被放置的,因为当我用鼠标移动视图应该放置的位置时,我可以看到指针根据视图元素css属性的变化而变化(比如视图有链接)。现在,当我在任何位置单击鼠标时,视图变为可见,微调器消失。我想当点击一个摘要周期发生时?还是什么我不知道的?虽然$http返回的承诺的
then
应该在$apply中调用。。。有人知道这里出了什么问题吗?

你能解释一下移动鼠标时到底发生了什么吗?您是否在页面上添加了任何与
loadStatus
相关的CSS?否,没有与loadStatus相关的CSS,没有与显示微调器的跨距相关的CSS,除了某些CSS。当我在没有旋转微调器的空屏幕上移动鼠标时,我可以看到鼠标光标发生变化,就好像视图被渲染,元素导致光标发生变化一样,只要我现在单击任何可以看到视图的地方,微调器就会消失。这是一种不寻常的行为,您当前的代码无法复制,请尝试添加更多相关的代码(或者以某种方式使用$http请求创建一个Plunker/JSFIDLE),这与我的电脑有关吗?我的浏览器?是否打开了开发工具?我已经在几个项目上试用过,它们“有时”会产生相同的输出我甚至不知道是什么触发了它,什么不触发了它…谁知道呢,但是旧浏览器不支持类,
ng如果
创建了自己的作用域,controllerAs语法也可以在这里发挥作用,可能需要在控制器中移动
$http
回调,或者使用
。然后((res)=>{…},(err)=>{…})
语法