Vue组件之间的参数传递与方法调用的实例详解
父组件向子组件
1.父组件向子组件传参:父组件中的子组件标签中增加 :param="param"
子组件中增加 props 接受参数(注意props需要与data同级)
props: { param: { type: Object } }, data() { return { ... } },
2.父组件调用子组件方法:父组件中子组件的标签增加 ref="abc"
例如:
<child ref="abc"></child>
然后在父组件中使用 refs直接调用子组件方法
例如:
this.$refs.abc.XXX()
子组件调用父组件方法
1.父组件中子组件的标签注册方法 @abc="XXX"
子组件中使用$emit 调用父组件方法
例如:
// 无参 this.$emit('abc') // 带参 this.$emit('abc', {params})
2.子组件使用$parent
例如:
// 方法 this.$parent.abc() // 属性 this.$parent.abcd = 1
其它组件间调用
可以使用EventBus
在被调用的组件中使用EventBus.$on
,在调用的组件中使用EventBus.$emit
例如:
被调用的组件中:
created() { EventBus.$off('Name') EventBus.$on('Name', (data1, data2) => { this.method(data1,data2) }) }
调用的组件中:
EventBus.$emit('Name', res.data.list, flag)
补充:
props的几种写法:
// 默认写法 props: { btnClick: { type: Function, default: function() {} }, titleName: { type: String, default: "内容" }, display: { type: String, default: "table" }, columnNum: { type: Number, default: 1 }, columnslist: { type: Array, default() { return []; } }, showPage: { type: Boolean, default: true }, apiData: { type: Object, default() { return {}; } }, param: { type: Object, default() { return {}; } }, defaultParam: { type: Boolean, default() { return true; } } },
注意:如果默认值的类型为数组或者对象的话,一定要在函数中返回这个默认值,而不是直接写,否则会报错
// 正确: datalist:{ type:Array, default:function(){ return [] } } // 错误 datalist:{ type:Array, default:[] } // 或者直接跟上面第一个代码一样,不管什么类型,都写在函数返回中。
补充2:VUE 父组件动态传值给子组件
https://www.jb51.net/article/127980.htm
到此这篇关于Vue组件之间的参数传递与方法调用的实例详解的文章就介绍到这了,更多相关vue参数传递内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
本文通过实例代码给大家介绍了Vue表单绑定(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)的相关知识,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下2019-05-05vue 路由子组件created和mounted不起作用的解决方法
今天小编就为大家分享一篇vue 路由子组件created和mounted不起作用的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-11-11ElementUI中的el-dropdown传入多参数的实现方法
本文主要介绍了ElementUI中的el-dropdown传入多参数的实现方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-12-12vue 2.5.1 源码学习 之Vue.extend 和 data的合并策略
这篇文章主要介绍了Vue.extend 和 data的合并策略 ,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-06-06
最新评论