vue中组件间的传参
1.父传子
父组件准备一个数据,通过自定义属性给子组件赋值,进行传递
在子组件中通过 props 属性来接收参数
<body>
<div id="app">
<son passdata="msg"></son>
</div>
</body>
<script>
Vue.component('son', {
template: '<div>父组件的数据为:{{ passdata }}</div>',
props: ['passdata']
})
new Vue({
el: '#app',
data: {
msg: '父组件数据'
}
})
</script>
2.子传父
在子组件准备一个数据,通过 this.$emit('自定义事件', '参数'),进行传递。this.$emit 相当于要执行子组件的自定义事件,并且传入参数
在父组件中给子组件注册好自定义事件,并且实现这个方法,就可以得到参数了。<son @自定义事件="getval">
<body>
<div id="app">
//myevent是子组件中的事件
<son @myevent='getVal'></son>
</div>
</body>
<script>
Vue.component('son', {
//①通过事件触发passval方法
template: `<div>给父组件传参<button @click="passval">传参</button></div>`,
data(){
return {
son: 'son数据'
}
},
methods: {
passval(){
//②执行子组件中的myevent事件,通过$emit进行传递(this.son为传递的数据)
this.$emit('myevent', this.son)
}
}
})
new Vue({
el: '#app',
methods: {
//③value就是传递过来的数据
getVal(value){
console.log(value)
}
}
})
</script>
3.并列组件传参
创建一个公用的 bus (vue 实例) var vm = new Vue()
在 A 组件传入数据 vm.$emit('passval', this.name)
在 B 组件接收数据 vm.$on('passval' ,function(value){})
<body>
<div id="app">
<coma></coma>
<comb></comb>
</div>
</body>
<script>
//①创建一个公共实例
var vm = new Vue()
Vue.component('coma', {
//通过事件触发 myclick方法去传参
template: `<div><button @click="myclick"></button></div>`,
data() {
return {
name: 'coma'
}
},
methods: {
myclick: function(){
//向公共实例传入数据
vm.$emit('passval', this.name)
}
}
})
Vue.component('comb', {
template: `<div>comb</div>`,
mounted() {
//接收数据
vm.$on('passval', function(value){
console.log(value)
})
}
})
new Vue({
el: '#app'
})
</script>
vue中组件间的传参的更多相关文章
- Vue中组件间通信的方式
Vue中组件间通信的方式 Vue中组件间通信包括父子组件.兄弟组件.隔代组件之间通信. props $emit 这种组件通信的方式是我们运用的非常多的一种,props以单向数据流的形式可以很好的完成父 ...
- Vue中组件间传值常用的几种方式
版本说明: vue-cli:3.0 一.父子组件间传值 1.props/$emit -父组件==>>子组件: 子组件中通过定义props接收父组件中通过v-bind绑定的数据 父组件代码 ...
- Vue学习(二)-Vue中组件间传值常用的几种方式
版本说明:vue-cli:3.0 主要分为两类: 1.父子组件间的传值 2.非父子组件间的传值 1.父子组件间传值 父组件向子组件传值 第一种方式: props 父组件嵌套的子组件中,使用v-bind ...
- vue中this.$router.push() 传参
1 params 传参 注意⚠️:patams传参 ,路径不能使用path 只能使用name,不然获取不到传的数据 this.$router.push({name: 'dispatch', para ...
- 040——VUE中组件之组件间的数据参props的使用实例操作
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【vue】父向子组件传参、子组件向父传参
1.父向子组件传参 App.vue为父,引入componetA组件之后,则可以在App.vue中使用标签(注意驼峰写法要改成componet-a写法,因为html对大小写不敏感,componenta与 ...
- vue组件定义方式,vue父子组件间的传值
vue组件定义方式,vue父子组件间的传值 <!DOCTYPE html> <html lang="zh-cn"> <head> <met ...
- React中组件间通信的方式
React中组件间通信的方式 React中组件间通信包括父子组件.兄弟组件.隔代组件.非嵌套组件之间通信. Props props适用于父子组件的通信,props以单向数据流的形式可以很好的完成父子组 ...
- Vue中组件
0828自我总结 Vue中组件 一.组件的构成 组件:由 template + css + js 三部分组成(.vue文件) 1)组件具有复用性 2) 复用组件时,数据要隔离 3) 复用组件时,方法不 ...
随机推荐
- 沉淀,再出发:web前端的一些认识
沉淀,再出发:web前端的一些认识 一.前言 作为程序员,我一直认为全栈是一种最基本的能力,没有了这种目标就会发现自己越往后面发展路就越窄,很多自己不了解的东西会阻塞自己去理解整个系统的开发过程和效率 ...
- Asp.Net MVC 开发技巧(一)
开发程序时的流程: 1.设计数据模型. 数据模型最为重要,不仅关系到数据的存储,同时程序的可扩展性,效率也受影响,甚至决定开发工作量.所以要极其认真的设计数据库的表和相关字段. 建完基本的数据模型后, ...
- oracle中RAW数据类型
近日在研究v$latch视图时,发现一个从未见过的数据类型.v$latch 中ADDR属性的数据类型为RAW(4|8) 同时也发现v$process中的ADDR属性的数据类型也为RAW(4|8).于 ...
- 用ABAP代码读取S/4HANA生产订单工序明细
在S/4HANA事务码CO03显示的Production Order里,我希望用ABAP代码显示出该订单的operation(工序)ID,描述和状态Status,如下图所示: 很简单的几行ABAP代码 ...
- scala当中的Actor并发编程
注:Scala Actor是scala 2.10.x版本及以前版本的Actor. Scala在2.11.x版本中将Akka加入其中,作为其默认的Actor,老版本的Actor已经废弃. 1.什么是Sc ...
- vue 项目搭建笔记1
1.首先安装node.js(傻瓜式安装,安装路径默认C盘) 2.打开node.js command prompt 3.进入想放项目的文件夹.如D: -->回车 4.进入具体文件夹,如cd wo ...
- Java编程规范[转]
目录 1 概述.... 5 1.1 目标:.... 5 1.2 原则:.... 5 2 Java编程命名规范.... 5 2.1 包的命名标准.. ...
- caanimationgroup与CATransaction的区别
动画的组合: caanimationgroup:同一个layer: CATransaction:不同layer: In Core Animation, transactions are a way t ...
- geth --rpcaddr
当想要实现从另一台电脑连接本电脑上开启的geth客户端时,需要将--rpcaddr设置为本电脑的ip地址,如下: geth --datadir data0 --networkid --port --r ...
- spring中的default-lazy-init参数和lazy-init
在spring的配置中的根节点上有个 default-lazy-init="true"配置: 1.spring的default-lazy-init参数 此参数表示延时加载, ...