Vue.js 在创建中加载所有属性后装入调用

Vue.js 在创建中加载所有属性后装入调用,vue.js,vuejs2,Vue.js,Vuejs2,在我的Vue应用程序中,我从远程API获取一些数据,然后使用这些数据创建Html表。我决定采用以下流程 在created()hook中从API获取数据并在那里设置数据属性&然后在mounted()hook中调用负责填充我的Html表的方法 但是如果我对api的调用是asyc,那么一旦created()退出,就会调用mounted(),因为我还没有准备好数据,所以会出现错误。如何将此表填充延迟到数据获取完成 下面是一些流的伪代码 created(){ ayncJSON() { sel

在我的Vue应用程序中,我从远程API获取一些数据,然后使用这些数据创建Html表。我决定采用以下流程

created()
hook中从API获取数据并在那里设置数据属性&然后在
mounted()
hook中调用负责填充我的Html表的方法

但是如果我对api的调用是asyc,那么一旦created()退出,就会调用
mounted()
,因为我还没有准备好数据,所以会出现错误。如何将此表填充延迟到数据获取完成

下面是一些流的伪代码

created(){

  ayncJSON() {
    self.data = data;
  }
}

mounted(){
  self.populateTable();
}

populateTable(){

//use self.data to create table
}

你应该用承诺

进行异步调用以获取数据,然后(字面上是“then”)执行填充函数

所以它看起来像这样

mounted(){
$http.get('url\u here')。然后((响应)=>{
self.data=response.data
populateTable()
}) 

}
你应该使用承诺

进行异步调用以获取数据,然后(字面上是“then”)执行填充函数

所以它看起来像这样

mounted(){
$http.get('url\u here')。然后((响应)=>{
self.data=response.data
populateTable()
}) 

}
我是否应该始终在
mounted()
hook()中执行数据提取和使用dom?不一定,这取决于您希望何时提取数据。这对我来说很有用,但通常我应该总是执行数据提取&在
mounted()
hook中使用dom吗?不一定,这取决于您希望何时提取数据。但总的来说,这对我来说是有效的