Vue.js父与子组件之间传参示例


Posted in Javascript onFebruary 28, 2017

例子:App.vue为父,引入componetA组件之后,则可以在template中使用标签(注意驼峰写法要改成componet-a写法,因为html对大小写不敏感,componenta与componentA对于它来说是一样的,不好区分,所以使用小写-小写这种写法)。而子组件componetA中,声明props参数'msgfromfa'之后,就可以收到父向子组件传的参数了。例子中将msgfromfa显示在<p>标签中。

App.vue中

<component-a msgfromfa="(Just Say U Love Me)"></component-a>
import componentA from './components/componentA'

export default {

new Vue({

components: {

componentA

}

})

}

componentA.vue中

<p>{{ msgfromfa }}</p>
export default {

props: ['msgfromfa']

}

父向子组件传参(.$broadcast)

用法:vm.$broadcast( event, […args] )广播事件,通知给当前实例的全部后代。因为后代有多个枝杈,事件将沿着各“路径”通知。

例子:父组件App.vue中<input>绑定了键盘事件,回车触发addNew方法,广播事件”onAddnew”,并传参this.items。子组件componentA中,注册”onAddnew”事件,打印收到的参数items。

App.vue中

<div id="app">
<input v-model="newItem" @keyup.enter="addNew"/>
</div>
import componentA from './components/componentA'
export default {
new Vue({
methods: {
addNew: function() {
this.$broadcast('onAddnew', this.items)
}
}
})
}

componentA.vue中

import componentA from './components/componentA'

export default {

events: {

'onAddnew': function(items){

console.log(items)

}

}

}

子组件向父传参(.$emit)

用法:vm.$emit( event, […args] ),触发当前实例上的事件。附加参数都会传给监听器回调。

例子:App.vue中component-a绑定了自定义事件”child-say”。子组件componentA中,单击按钮后触发”child-say”事件,并传参msg给父组件。父组件中listenToMyBoy方法把msg赋值给childWords,显示在<p>标签中。
App.vue中

<p>Do you like me? {{childWords}}</p>
<component-a msgfromfa="(Just Say U Love Me)" v-on:child-say="listenToMyBoy"></component-a>
import componentA from './components/componentA'
export default {
new Vue({
data: function () {
return {
childWords: ""
}
},
components: {
componentA
},
methods: {
listenToMyBoy: function (msg){
this.childWords = msg
}
}
})
}

componentA.vue中

<button v-on:click="onClickMe">like!</button>
import componentA from './components/componentA'
export default {
data: function () {
return {
msg: 'I like you!'
}
},
methods: {
onClickMe: function(){
this.$emit('child-say',this.msg);
}
}
}

子组件向父传参(.$dispatch)

用法:vm.$dispatch( event, […args] ),派发事件,首先在实例上触发它,然后沿着父链向上冒泡在触发一个监听器后停止。

例子:App.vue中events中注册”child-say”事件。子组件componentA中,单击按钮后触发”child-say”事件,并传参msg给父组件。父组件中”child-say”方法把msg赋值给childWords,显示在<p>标签中。

App.vue中

<p>Do you like me? {{childWords}}</p>
<component-a msgfromfa="(Just Say U Love Me)"></component-a>
import componentA from './components/componentA'
export default {
new Vue({
events: {
'child-say' : function(msg){
this.childWords = msg
}
}
})
}

componentA.vue中

<button v-on:click="onClickMe">like!</button>
import componentA from './components/componentA'
export default {
data: function () {
return {
msg: 'I like you!'
}
},
methods: {
onClickMe: function(){
this.$dispatch('child-say',this.msg);
}
}
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 复制或插入Html的实现方法小结
May 19 Javascript
javascript中动态加载js文件多种解决办法总结
Nov 15 Javascript
JS实现双击编辑可修改状态的方法
Aug 14 Javascript
JavaScript获取各大浏览器信息图示
Nov 20 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
Nov 27 Javascript
关于vue.js弹窗组件的知识点总结
Sep 11 Javascript
微信小程序实现带刻度尺滑块功能
Mar 29 Javascript
JS组件系列之MVVM组件 vue 30分钟搞定前端增删改查
Apr 28 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
Jan 25 Javascript
Javascript实现购物车功能的详细代码
May 08 Javascript
让webpack+vue-cil项目不再自动打开浏览器的方法
Sep 27 Javascript
JS实现的合并两个有序链表算法示例
Feb 25 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
Feb 28 #Javascript
JS对象创建的几种方式整理
Feb 28 #Javascript
js仿淘宝评价评分功能
Feb 28 #Javascript
jQuery布局组件EasyUI Layout使用方法详解
Feb 28 #Javascript
three.js绘制地球、飞机与轨迹的效果示例
Feb 28 #Javascript
JavaScript Uploadify文件上传实例
Feb 28 #Javascript
微信小程序 ecshop地址三级联动实现实例代码
Feb 28 #Javascript
You might like
新安装的MySQL数据库需要注意的安全知识
2008/07/30 PHP
PHP运行时强制显示出错信息的代码
2011/04/20 PHP
php二分查找二种实现示例
2014/03/12 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
2014/06/22 PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
2014/06/23 PHP
PHP读取CURL模拟登录时生成Cookie文件的方法
2014/11/04 PHP
用php来限制每个ip每天浏览页面数量的实现思路
2015/02/24 PHP
PHP实现的迷你漂流瓶
2015/07/29 PHP
摘自启点的main.js
2008/04/20 Javascript
JavaScript 产生不重复的随机数三种实现思路
2012/12/13 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
2013/07/03 Javascript
防止登录页面出现在frame中js代码
2014/07/22 Javascript
window.location 对象所包含的属性
2014/10/10 Javascript
基于OL2实现百度地图ABCD marker的效果
2015/10/01 Javascript
JavaScript的代码编写格式规范指南
2015/12/07 Javascript
js操作数组函数实例小结
2015/12/10 Javascript
jquery trigger实现联动的方法
2016/02/29 Javascript
Jquery鼠标放上去显示全名的实现方法
2017/02/06 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
Webpack4+Babel7+ES6兼容IE8的实现
2019/04/10 Javascript
详解关于webpack多入口热加载很慢的原因
2019/04/24 Javascript
python装饰器深入学习
2018/04/06 Python
python中eval与int的区别浅析
2019/08/11 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
TensorFlow基本的常量、变量和运算操作详解
2020/02/03 Python
用python获取txt文件中关键字的数量
2020/12/24 Python
html5指南-5.使用web storage存储键值对的数据
2013/01/07 HTML / CSS
video下autoplay属性无效的解决方法(添加muted属性)
2020/05/19 HTML / CSS
英国山地公路自行车商店:Tweeks Cycles
2018/03/16 全球购物
车队司机自我鉴定
2014/03/02 职场文书
初中学校军训方案
2014/05/09 职场文书
井冈山红色之旅感想
2014/10/07 职场文书
酒店客房服务员岗位职责
2015/04/09 职场文书
社区安置帮教工作总结2015
2015/05/20 职场文书
解决Tkinter中button按钮未按却主动执行command函数的问题
2021/05/23 Python