问题:第一次触发接收不到想要的参数,只有第二次才是想要的传值,组件没有更新
//:gridData="gridList" 传值
父组件
<fu-gridList ref="gridList" :index_type="index_type"></fu-gridList>

子组件接收参数
 props:{
     index_type: {
          type: Boolean,
          default: true
        },
  },
 getNavs() {
//获取到的值不是想要的,只要第二次触发才是想要的值
      console.log(this.index_type)
      this.$api
        .post(global.apiUrls.postHomeList, {
          typeid: 1,
          index_type:this.index_type
        })
        .then(res => {
          console.log('金刚区',res);
          if (res.data.code == 1) {
            let list = res.data.data;
            this.navs = [];
            this.current = 0;
            // for (let i = 0, l = list.length; i < l; i += 5) {
            //   this.navs.push(list.slice(i, i + 5));
            // }
			for (let i = 0, l = list.length; i < l; i += 8) {
			  this.navs.push(list.slice(i, i + 8));
			}
          }
        });
    },

解决方案:

父组件
<fu-gridList ref="gridList"></fu-gridList>
handele(index) {
        // 直接传参
       this.$refs.gridList && this.$refs.gridList.refresh(index);
},
//子组件接受参数
 refresh(index){
      console.log(index)
      this.index_type = index;
      this.getNavs();
   }
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐