vue 父组件异步请求数据给子组件

  • Post author:
  • Post category:vue




vue 父组件异步请求数据给子组件



看代码和注释直接百分百搞懂 子组件是怎么获取父组件异步请求数据的
//父组件
//给子组件传 异步请求的数据
 <Swiper :banner="banner"></Swiper>

export default {  
  components: {
    Swiper
  },
  data() {
    return {
      banner: [],
      recommend: []
    };
  },
  methods: {
     // 异步请求数据
    async getHomeMultidata() {
    //$http 是我自己封装的 axios
      await this.$http
        .request({
          method: "get",
          url: "/home", //请求地址
          data: {}
        })
        .then(res => {
          this.banner = res.data.data.banner.list;
          // console.log(this.banner);
        });
    }
  },
  mounted() {
    this.getHomeMultidata();
  }
//子组件
//如果banners为空则不显示
<div v-if="banners">...</div>

export default {
  //父组件传值的数据
  props: ["banner"],
  components: {
    Swiper,
    SwiperSlide
  },
  data() {
    return {
      banners: [],
    };
  },
  // 监听事件,
  watch: {
    banner: function(newData, oldData) {
      //如果banner 获取值了就将数据赋给 子组件的 banners
      this.banners = newData;
    }
  }
};



版权声明:本文为qq_29850249原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。