name: "TabNav",
props: {
labels: Array,
setSelect: Function,
selected: Number,
},
watch: {
labels(val, OldVal) {
this.$nextTick(() => {
this.checkNavButtonStatus();
const target = document.querySelector("li[data-active]");
if (target) {
this.activeTabToCenter(target);
}
});
},
},
mounted() {
window.addEventListener("resize", this.checkNavButtonStatus);
},
1.首先要看你的数据是请求回来的还是默认的值,
如果是请求回来的值 是有延迟的,
因为所有组件加载时就已经触发了mounted的函数,如果是请求回来的数据 通过props传递的话,一般是无法显示的
解决办法:在请求之前不让当前组件显示 请求回来后再让组件重新渲染,将拿回来得值,重新进行传值,这时,组件mounted就可以获取到props传递下来的数据了
已参与 「极客观点」 ,欢迎正在阅读的你也加入。