Javascript 加载微调器不';t在装载时执行的第一个GET请求期间工作

Javascript 加载微调器不';t在装载时执行的第一个GET请求期间工作,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,在下面的代码中,您可以看到,如果isLoading为true,我将渲染一个微调器组件。默认情况下,isLoading设置为false,在每个GET请求之前,我将其设置为true,在GET请求结束时,当所有内容都已加载时,我将其设置为false 奇怪的是,当手表中的GET请求通过时,一切正常,我看到微调器,直到GET请求完成。然而,当我装载组件时,在mounted()生命周期挂钩中发出的第一个GET请求之前,我没有看到微调器,我不知道为什么 在将isLoading设置为true之前和之后,我都使用

在下面的代码中,您可以看到,如果isLoading为true,我将渲染一个微调器组件。默认情况下,isLoading设置为false,在每个GET请求之前,我将其设置为true,在GET请求结束时,当所有内容都已加载时,我将其设置为false

奇怪的是,当手表中的GET请求通过时,一切正常,我看到微调器,直到GET请求完成。然而,当我装载组件时,在mounted()生命周期挂钩中发出的第一个GET请求之前,我没有看到微调器,我不知道为什么

在将isLoading设置为true之前和之后,我都使用了console.log(this.isLoading)来检查一切是否正常。那么为什么在mounted()上的第一个GET请求之前我没有看到微调器呢


内容
数据(){
返回{
目标:空,
类型:null,
范围:空,
孤岛加载:false
}
},
安装的(){
this.isLoading=true
axios.get('/getSights/'+this.lat+'/'+this.lng+'/'+this.type+'/'+this.range+'/'+this.nextPageToken)
。然后(响应=>{
this.sights=response.data.result.results
this.isLoading=false
}).catch((错误)=>console.log(错误));
},
观察:{
类型:函数(){
this.isLoading=true
axios.get('/getSights/'+this.lat+'/'+this.lng+'/'+this.type+'/'+this.range)
。然后(响应=>{
this.sights=response.data.result.results
this.isLoading=false
}).catch((错误)=>console.log(错误));
},
范围:函数(){
this.isLoading=true
axios.get('/getSights/'+this.lat+'/'+this.lng+'/'+this.type+'/'+this.range)
。然后(响应=>{
this.sights=response.data.result.results
this.isLoading=false
}).catch((错误)=>console.log(错误));
},

您应该等到所有组件和子组件都呈现出来

此代码段适用于已装入的函数:

mounted() {
  this.$nextTick(()=> this.isLoading = true)
  axios.get('/getSights/' + this.lat + '/' + this.lng + '/' + this.type + '/' + this.range + '/' + this.nextPageToken)
  .then(response => {
    this.sights = response.data.result.results
    this.isLoading = false
  }).catch((error) => console.log(error));
},

您应该等到渲染所有组件和子组件

此代码段适用于已装入的函数:

mounted() {
  this.$nextTick(()=> this.isLoading = true)
  axios.get('/getSights/' + this.lat + '/' + this.lng + '/' + this.type + '/' + this.range + '/' + this.nextPageToken)
  .then(response => {
    this.sights = response.data.result.results
    this.isLoading = false
  }).catch((error) => console.log(error));
},

嗯,虽然这是有道理的,可悲的是,在我的情况下,它似乎没有任何作用:|嗯,虽然这是有道理的,可悲的是,在我的情况下,它似乎没有任何作用:|