Javascript AngularJS微调器未显示,可能是由于http.get触发过快

Javascript AngularJS微调器未显示,可能是由于http.get触发过快,javascript,angularjs,spinner,http-get,Javascript,Angularjs,Spinner,Http Get,抱歉,如果这是重复与其他职位,但我的声誉点太低,评论他们。当我启动http get时,我将显示一个微调器 HTML: 如果我注释掉最后一行,将加载标志更改回false,微调器将显示并继续运行,show将证明其已初始化 问题是,对于上面的内容,我假设它在移动到最后一个标志时不会显示为快速,即使范围显示可能需要20-30秒 我明白20-30秒并不多,但我希望它显示微调器,通过显示正在进行的微调器,防止不耐烦的用户认为它不起作用。这是因为在分配$scope.loading到false之前,您没有等待h

抱歉,如果这是重复与其他职位,但我的声誉点太低,评论他们。当我启动http get时,我将显示一个微调器

HTML:

如果我注释掉最后一行,将加载标志更改回false,微调器将显示并继续运行,show将证明其已初始化

问题是,对于上面的内容,我假设它在移动到最后一个标志时不会显示为快速,即使范围显示可能需要20-30秒


我明白20-30秒并不多,但我希望它显示微调器,通过显示正在进行的微调器,防止不耐烦的用户认为它不起作用。

这是因为在分配
$scope.loading
false
之前,您没有等待http返回

试试这个:

$scope.loadRemedyData = function(qName) {
//Injects scope from Remedy Database JSON
$scope.loading = true;
$http.get("/openremedywos?qName=" + qName).then(function (response){
    $scope.newdevices = response.data;
    $scope.loading = false; // brought it inside. Where it will wait for the http to get response.
});
}

这是因为在分配
$scope.loading
false
之前,您没有等待http返回

试试这个:

$scope.loadRemedyData = function(qName) {
//Injects scope from Remedy Database JSON
$scope.loading = true;
$http.get("/openremedywos?qName=" + qName).then(function (response){
    $scope.newdevices = response.data;
    $scope.loading = false; // brought it inside. Where it will wait for the http to get response.
});
}
$scope.loadRemedyData = function(qName) {
//Injects scope from Remedy Database JSON
$scope.loading = true;
$http.get("/openremedywos?qName=" + qName).then(function (response){
    $scope.newdevices = response.data;
    $scope.loading = false; // brought it inside. Where it will wait for the http to get response.
});
}