问题:父组件mounted发送异步请求,子组件props接收?
极有可能是因为,父组件mounted异步的请求,在子组件中被v-for控制,所以导致了,父组件mounted会先执行
父组件mounted中发送一个异步请求,然后发送给子组件
子组件通过props接收,并且在自己的mounted展示,为什么还可以显示出来,
猜测:1.子组件先运行但是没有值,但是父组件传递的参数发生改变后,子组件会自动改变
2.父组件异步请求数据,<Floor v-for="(floor,index) in floorList" :key="floor.id" :list="floor"></Floor>
需要v-for来影响子组件,若是没有数据,则子组件无法创建,所以自然而然的父mounted会在子组件之前运行
这也说明了异步引入组件的过程
父组件创建,父组件挂载;子组件创建,子组件挂载。
父组件:
mounted() {
// 派发action,获取floor组件的数据
this.$store.dispatch("getFloorList");
},
子组件:
import Swiper from "swiper";
export default {
name: "",
props: ["list"],
// 组件挂载完毕的地方
mounted() {
console.log("子组件mounted函数",this.list)
// 第一次书写Swiper的时候,在mouted中书写是不可以的,
// 在这里home组件发请求再传参数给这个子组件
// 所以这里的结构已经完整了
// 这里是子组件mouted挂载之后才会父mouted挂载,所以子组件运行这个可能效率不是很好?个人判断
// 这里有一定的问题,父组件发送异步请求时候,子组件不一定会收到数据,需要进行判断
var mySwiper = new Swiper(this.$refs.floor1Swiper, {
// direction: 'vertical', // 垂直切换选项
loop: true, // 循环模式选项
// 如果需要分页器
pagination: {
el: ".swiper-pagination",
clickable: true,
},
// 如果需要前进后退按钮
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev",
},
});
},
};
明天实验:父组件mounted发送异步请求,子组件props接收

浙公网安备 33010602011771号