Vue组件间的通信
来源:互联网 发布:iphone移轴摄影知乎 编辑:程序博客网 时间:2024/06/04 18:19
前言:本文主要介绍在Vue中组件与组件如何进行信息传递。分为三部分:
父组件向子组件
子组件向父组件
非父子组件通信
一、父组件向子组件通信(props)
①、父组件向子组件传递字符串
<template> <div id="m-dialog"> <!-- 该种方法“只能传递字符串”, 将child的data中的value = "str";不需要父组件data中有数据 --> <child value="传递固定字符串"></child> </div></template>
Vue.component("child", {// 获取value的依赖props:["value"],template: '<span>{{ value }}</span>'});new Vue({// 这里的el可视为父组件// 所以下面这个片段是放在#m-dialog里面的el:"#m-dialog"});
②、父组件向子组件传递数据
<div id="m-dialog"><!-- 将组件的数据state与父组件的数据flag绑定在了一起执行 vue1.flag= false 会对组件数据进行重新渲染 --><child v-bind:state="flag"></child></div>
Vue.component("child", {// 获取value的依赖props:["state"],template: '<span>{{ state }}</span>'});var vue1 = new Vue({// 这里的el可视为父组件// 所以下面这个片段是放在#m-dialog里面的el:"#m-dialog",data: {flag: true}});使用props传递值的时候可能有多个参数,这时候需要注意顺序问题
详情请点击
二、子组件向父组件通信($emit())
因为父子组件的数据绑定是单向,故子组件的数据变化不会影响到父组件,故需要通过事件的监听来主动通知父组件对应子组件的数据变化<div id="m-dialog"><!-- v-on:cancle="other"表示如果触发组件中的cancle事件则连带触发父组件中的other时间 --><child v-on:cancle="other"></child></div>
Vue.component("child", {template: '<button v-on:click="cancle">我是按钮,点我触发父组件事件</button>',methods: {cancle: function() {// 与父组件通信一定要加上这句话this.$emit('cancle');}}});var vue1 = new Vue({// 这里的el可视为父组件// 所以下面这个片段是放在#m-dialog里面的el:"#m-dialog",data: {flag: true},methods: {other: function() {alert();}}});
三、非父子组件通讯
// 建立一个空容器var bus = new Vue()// 在组件 B 创建的钩子中监听事件// $on用于监听事件bus.$on('event', function (id1,id2) { // ... alert(a);// 弹出1 alert(a);// 弹出2})// 触发组件 A 中的事件// 触发了event事件, 后面为参数bus.$emit('event', 1, 2);
友情推荐:Vue 进阶教程之:非父子组件通信方法(非Vuex) 传送门
瞎谈:刚接触vue,学习的东西很多,如有错误,敬请提醒,共同进步~~
阅读全文
0 0
- vue的组件间通信
- Vue组件间的通信
- Vue组件间通信
- vue组件间通信
- vue组件间通信
- Vue组件间通信
- 浅谈Vue组件间的通信
- vue组件之间的通信
- vue组件之间的通信
- VUE组件之间的通信
- vue组件之间的通信
- Vue 组件间通信实例
- Vue组件间通信方式
- vue组件及组件间通信
- Vue 父子组件、组件间通信
- Vue——任意组件间的通信
- 聊聊Vue.js组件间通信的几种姿势
- Vue.js 组件间通信的几种姿势
- jdbc
- [随笔]success是什么
- 防御性驾驶技术全集详细技巧-什么是防御性驾驶
- git入门(4)团队中git保管代码常用操作
- SQL基础
- Vue组件间的通信
- VB if多条件语法
- Glide加载图片变形,刷新后恢复正常
- 全面升级Android面试之IntentService面试题集
- ISO 9126质量模型
- 网易笔试题-合唱团
- JavaScript 对象
- AlarmManager详解:android中的定时任务
- 用java实现邮件发送验证码