vue 组件之间相互传值 父传子 子传父
1、父传子 把要传入的值放到父标签里 子组件使用props接收
父写法
子写法
2、子传父
子组件:
childrenOnclick() {
// 发布自定义事件
this.$emit("back", "我来了")//第一个参数是父组件中v-on绑定的自定义回调方法,第二个参数为传递的参数
}
父组件
<children-item v-on:back="handleParentClick"></children-item>
3、组件之间的通信
简单的通信使用vue实例解决,复杂的大型项目使用vuex状态管理。
1、新建一个vue实例来进行传递消息
var vm = new Vue(); 2、组件一发送消息
sendMsg: function () { //传参方法
console.log(555);
vm.$emit("eventBus","我是组件一");//定义方法名和要传输的数据
} 3、组件二接收消息
receive:function () {
vm.$on("eventBus",function (val) { //接收组件二的参数
console.log(val) //我是组件一
})
}
完整代码如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="vue.js"></script>
</head>
<body>
<div id="app">
<child-component :message="msg" v-on:allback="updatea"></child-component>
<child-component2></child-component2>
</div>
<script>
var vm = new Vue(); //组件一 发送信息给父组件 、 接收组件二消息
Vue.component('childComponent',{
props:['message'],
template: `<div @click="sendMsg">{{ message }}</div>`,
data() {
return{
son:"我是你儿子"
}
},
mounted(){
this.receive()
}, methods:{
sendMsg: function () { //传参方法
console.log(555);
this.$emit('allback', this.son); //第一个参数是父组件中v-on绑定的自定义回调方法,第二个参数为传递的参数
},
receive:function () {
vm.$on("eventBus",function (val) { //接收组件二的参数
console.log(val)
})
}
}
});
//组件二 发送信息给组件一
Vue.component('childComponent2',{
props:['message'],
template: `<div @click="sendMsg">告诉大哥</div>`,
data() { //为什么不能写成data:{} 报错
return{
twoson:"我是你弟弟"
}
},
methods:{
sendMsg: function () { //传参方法
console.log(555);
vm.$emit("eventBus",this.twoson);//定义方法名和要传输的数据
}
}
});
new Vue({
el:'#app',
data:{
msg:"我是你爸爸"
},
methods:{
updatea:function (msg) {
console.log(6666)
this.msg=msg
}
}
})
</script>
</body>
</html>
vue 组件之间相互传值 父传子 子传父的更多相关文章
- VUE中的子父组件、兄弟组件之间相互传值,相互调用彼此的方法
vue--组件传值 父组件传值给子组件--"props" 一.父组件--示例 <template> <child :choose-data="choos ...
- vue组件之间的传值
vue中组件之间的传值有好几种情况 1.父向子传值 父组件向子组件传值使用props,直接上实例 city.vue是父组件,list.vue是子组件city.vue里定义cities和hotCitie ...
- vue 组件之间互相传值:兄弟组件通信
vue 组件之间互相传值:兄弟组件通信我们在项目中经常会遇到兄弟组件通信的情况.在大型项目中我们可以通过引入 vuex 轻松管理各组件之间通信问题,但在一些小型的项目中,我们就没有必要去引入 vuex ...
- vue组件之间的传值——中央事件总线与跨组件之间的通信($attrs、$listeners)
vue组件之间的通信有很多种方式,最常用到的就是父子组件之间的传值,但是当项目工程比较大的时候,就会出现兄弟组件之间的传值,跨级组件之间的传值.不可否认,这些都可以类似父子组件一级一级的转换传递,但是 ...
- vue组件之间互相传值:父传子,子传父
今看到一篇很不错的vue组件传值文章,便于理解,遂做笔记- 一般页面的视图App.vue应为这样 一.父组件向子组件传值 1.创建子组件,在src/components/文件夹下新建一个Child.v ...
- EasyDSS RTMP流媒体服务器web前端:vue组件之间的传值,父组件向子组件传值
之前接触最多的都是EasyNVR,主要针对的都是前端的一些问题.也有接触到一些easydss流媒体服务器. 前端方面的,EasyDSS流媒体服务器与EasyNVR有着根本的不同.EasyNVR使用的是 ...
- EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器web前端:vue组件之间的传值,父组件向子组件传值
前端方面,EasyDSS流媒体服务器与EasyNVR有着根本的不同.EasyNVR使用的是传统的js来进行开发,而EasyDSS使用的是webpack+vue来进行开发的,了解vue+webpack的 ...
- vue父子组件之间相互传值
1. 子组件使用父组件方法,并向父组件传值 子组件代码 <template> <div class="menu"> <div class=" ...
- vue组件之间的传值方式
一.父组件向子组件传值方式 1.1父组件向子组件传数据方式 <!DOCTYPE html> <html lang="en"> <head> &l ...
随机推荐
- 移动iptv安装三方软件
1.思路: 分为硬件和软件. a.硬件是ttl直接上串口,弄得比较复杂,且容易损坏盒子,先不考虑 b.软件:抓包获取iptv的请求数据,将移动光猫的iptv出口接到交换机上,电脑和盒子接入到同一个交 ...
- 导出IndoorGML
导出IndoorGML
- Flask的Windows部署:mod_wsgi + Apache
参考1:https://blog.csdn.net/mist99/article/details/80771289 参考2:https://blog.csdn.net/firefox1/article ...
- 2018-2019-1 20189203《Linux内核原理与分析》第九周作业
第一部分 课本学习 进程的切换和系统的一般执行过程 进程调度的时机 Linux内核系统通过schedule函数实现进程调度,进程调度的时机就是内核调用schedule函数的时机.当内核即将返回用户空间 ...
- git使用手册整理
-------------------20181217------------------- git使用:在gitbash 下初始化用户: $ git config --global user.nam ...
- 安装mongodb服务
摘要:https://www.cnblogs.com/z-x-y/p/9305635.html 欢迎转载,转载请标明出处:https://www.cnblogs.com/z-x-y/p/9305635 ...
- ELK简单安装
ELK日志分析平台 一.ELK介绍 ELK是三个开源软件的缩写,分别为:Elasticsearch . Logstash以及Kibana,都是开源软件,新增一个beats,(轻量级日志处理工具Agen ...
- Visual Studio 项目依赖
在解决方案上点击右键,选择项目依赖项 选择需要发布的所有依赖项目 主要是为了解决插件项目DLL无法生成的问题
- SQL Server实现远程访问
1.打开SQL Server 配置管理器(SQL Server Configuration Manager) 2.启用SQL Server网络配置的TCP/IP:选中左侧的「SQL Server网络配 ...
- go区块链学习教程之iris框架mvc架构
在Iris框架中,封装了mvc包作为对mvc架构的支持,方便开发者遵循mvc的开发原则进行开发. iris框架支持请求数据.模型.持久数据分层处理,并支持各层级模块代码绑定执行. MVC即:model ...