Vue 事件车

1:非父子之间的事件车传值
在main.js之中定义一个新的对象

//非父组件之间的通信使用事件车 来源于new Vue()
Vue.prototype.EmitEvent=new Vue();

左:

<template>
  <div id="menuchild">
    我是左端的子组件
    <!--
      非父子之间的传递数据
    -->
    <button @click="sendmsg">传递数据</button>
  </div>
</template>
<script>
export default {
  name: "menuchild",
  methods: {
    sendmsg() {
      //发送数据发布自定义数据携带数据
      this.EmitEvent.$emit("go-event", {
        name: "张三",
        age: 20
      });
    }
  },
  mounted() {
    this.EmitEvent.$on("go-left", function(res) {
      console.log(res);
    });
  }
};
</script>

右:

<template>
  <div id="contentinfo">
    我是右端的子组件
    <button @click="sendto">发送左边的数据</button>
  </div>
</template>
<script>
export default {
  name: "contentinfo",
  mounted() {
    //该组件渲染完成之后 自动监听自定义事件
    //new Vue对象
    this.EmitEvent.$on("go-event", function(result) {
      console.log(result);
    });
  },
  methods: {
    sendto() {
      this.EmitEvent.$emit("go-left", "abcdef");
    }
  }
};
</script>

2:父子组件之间的事件车传值
自定义事件 $emit(触发) $on(监听) 触发事件车,组件的自定义事件 在子组件内部进行触发,在父组件中做监听处理,监听到之后调用的方法是父组件的方法,这样的作用是子组件修改父组件的相关变量。
父组件:

<template>
  <div id="toptitle">
    <v-logo v-on:my-event="doSomthing"></v-logo>
  </div>
</template>
<script>
import logo from './child/logo'
export default{
  name:"toptitle",
  components:{
    'v-logo':logo
  },
  data(){
    return {
      //比如下面的两个信息是后台返回的
      name:"学生信息管理",
      logo:"src/assets/logo.png"
    }
  },
  methods: {
   doSomthing(){
      console.log("监听自定义事件");
    }
  }
}
</script>

子组件:

<template>
  <div id="logoinfo">
    <button @click="sendMsg">父组件触发</button>
  </div>
</template>
<script>
export default {
  name: "logoinfo",
  props:{
      logoimg:{
          type:String,
          default:"src/assets/wanmou.jpg"
      },
      sysname:String,
  },
  methods: {
    sendMsg(){
      //做自定义事件触发
      //自定义事件是先监听 v-on 然后再$emit 再进行触发 
      this.$emit("my-event");
    },
  }
}
</script>
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值