vue中同级组件传值问题(不用vuex)

439 阅读1分钟
main.js

    const Bus = new Vue();
    
    data() {
    return {
      Bus
    }
  },

  a页面:
   <p>
      v-for="(item,index) in dataRes"
      :key="index"
      @click="creReal(item.name)"
      :class="{newBg:item.name==newBgname }"
    >{{item.name}}</p>
    data(){
        return{
            dataRes: [
                {
                  name: "自动数据源"
                },
                {
                  name: "手动数据源"
                }
              ],
        }
    }
    methods:{
         // 点击跳转数据源详情页面
        creReal(name) {
          this.newBgname = name;
          this.$router.push({
            path: "/EnergyBox/DataDetails"//跳转的页面
          });
          this.$root.Bus.$emit("nameFun", name);//nameFun传的参数名,name要传的值
        },
    }
    b页面:
    mounted(){
        this.$root.Bus.$on("nameFun", e => {
      //  console.log(e)
      if (e == "手动数据源") {
        this.NewTarget = true;
      } else {
        this.NewTarget = false;
      }
    });
    }