【问题标题】:Vue Api and Skeleton [closed]Vue Api 和 Skeleton [关闭]
【发布时间】:2021-07-24 08:41:08
【问题描述】:

我是初学者。

我应该在 api 检索数据之前显示一个骨架。我该怎么办?

谢谢

我的解决方案是设置超时

【问题讨论】:

    标签: javascript vue.js


    【解决方案1】:

    让我们用 Promise 完成工作:

    mounted() {
      // Show the skeleton before fetching
      this.skeleton = true;
      axios.get('url')
      .then(response => 
      { 
        this.array = response.data; 
      })
      .catch(error => {
        // do something when error occurs
      })
      .finally(() => {
        // hide the skeleton in finally block is better than using setTimeout
        this.skeleton = false;
      });
    }
    

    【讨论】:

    • 谢谢,如果我想将骨架显示为预览,我应该在哪里插入它?
    • 我不太明白你的意思。能否请您多解释一下您的想法!
    • 如果 api 加载太快,骨架就不会出现对吗?即使api立即加载,我也想显示它..在这种情况下,我应该将它插入到axios请求中吗?
    • 所以如果你想达到类似的效果,你可以在 finally 块中使用你的 setTimeout:finally(() => { setTimeout(() => { this.skeleton = false; },3000) }) });
    猜你喜欢
    • 2018-07-08
    • 1970-01-01
    • 2019-05-20
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 2020-01-28
    • 2011-07-08
    • 1970-01-01
    相关资源
    最近更新 更多