首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不加载白酒treeData的Vue数据

不加载白酒treeData的Vue数据
EN

Stack Overflow用户
提问于 2020-12-09 15:36:30
回答 1查看 358关注 0票数 0

下面的代码可以很好地处理树视图,因为treeData已经手动定义了。但是我需要通过数据库动态地从服务器应用程序中获取数据。我读了很少的文章,试图使用,但没有成功。有人可以给我建议。我用酒树。

代码语言:javascript
复制
<script>
new Vue({
        el: '#app',
        data: () => ({
          treeData: null,
          treeOptions: {
            propertyNames: {
              text: 'group_Name',
              children: 'Child',
              state: 'options'
            },
            dnd: true,
            checkbox: true
          }
        }),

    async created() {
    const response = await axios.get('/fields_db')
      .catch(function (error) {
        if (error.response) {
          console.log(error.response.data);
        }
      })
    console.log(response.data); // i see the data in the console.
    this.treeData = response.data;
})

//app.js
app.get('/fields_db', function(request, response) {
 ......
 response.send(result);
 )}

//html page
<body>      
        <div id='app'>
             <tree 
              :v-if="treeData"
              :data="treeData"
              :options="treeOptions"
            />
        </div>  
</body>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-09 15:55:08

使用生命周期挂钩(如created)异步加载异步数据:

代码语言:javascript
复制
new Vue({
   ...
   data: () => ({
      treeData: null,    // Starts empty
   }),
   async created() {     // async load
     const response = await axios.get(...);
     this.treeData = response.data;
   }
   ...
})

在模板中使用v-if,这样<tree>就不会在数据准备好之前呈现:

代码语言:javascript
复制
<tree 
   v-if="treeData"
   :data="treeData"
   :options="treeOptions"
/>

(删除init和DOM onload)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65219925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档