博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue中不同组件之间传值方法
阅读量:4094 次
发布时间:2019-05-25

本文共 2976 字,大约阅读时间需要 9 分钟。

简单介绍

父组件:当组件A中嵌套一个组件B时,组件A即为父组件

子组件:当组件A中嵌套一个组件B时,组件B即为子组件
兄弟组件:当组件C中嵌套了两个子组件,组件D和组件E;且组件D和组件E并不存在嵌套关系时,可以称组件D和组件E为兄弟组件

父组件传值给子组件

方式一:

父组件 EditCase.vue

子组件 AddAndEditForm.vue

在子组件中使用props接收父组件传递的值,props中存在的变量无需再次在data中声明,可直接使用。使用方式:this.props中变量名。
props中变量与data中声明的变量区别:
原则上props中的变量只可读,不可更改(不可写);data中的变量可读可写。

方式二:

使用ref和$refs,父组件和子组件代码同方式一。其中,addAndEditFormObj代表自定义的子组件对象(名称随意);

接下来,还是在父组件中使用$refs;

  • 父组件调用子组件中方法的使用格式:
    this.$refs.自定义的子组件对象.子组件的methods中的某一方法;
  • 父组件给子组件中变量赋值的使用格式:
    this.$refs.自定义的子组件对象.子组件的data中的某一变量 = 父组件中的某个值;
showDrawer() {                console.log("编辑页面rowRecord:"+JSON.stringify(this.rowRecord))                this.$refs.addAndEditFormObj.rowRecord = this.rowRecord;                this.$refs.addAndEditFormObj.showDrawer();                //flag=1 代表添加 flag=2 代表更新/编辑 flag=3 代表添加                this.$refs.addAndEditFormObj.flag = 2;            },

子组件传值给父组件

父组件 同上(截取代码片段)

##methods中自定义一个监听事件的方法,方法名称同子组件中的@childCaseFormEdit="childCaseFormEdit"。##注意:=前后的名称必须一致childCaseFormEdit(flag) { console.log("编辑用例页") }

子组件 同上(截取代码片段)

在子组件需要向父组件传递值的位置使用this.$emit(‘方法名’,参数)

##methods中的方法 updateNewManualCaseAndStep(formData){      console.log("formData: "+JSON.stringify(formData))      var _this = this      this.axios            .post('/api/manualcase/updateManualCaseAndStep', formData)            .then(function (response) {               console.log(response.data)               _this.$emit('childCaseFormEdit', true)            });    },

非父子组件间的传值

非父子组件之间传值,需要定义个公共的公共实例文件bus.js,作为中间仓库来传值,不然路由组件之间达不到传值的效果。

公共bus.js

//bus.jsimport Vue from 'vue'export default new Vue()

组件A: child1.vue

B组件:child2.vue

参考链接:

转载地址:http://wqtii.baihongyu.com/

你可能感兴趣的文章
设计模式之策略模式
查看>>
深究Java中的RMI底层原理
查看>>
用idea创建一个maven web项目
查看>>
Kafka
查看>>
9.1 为我们的角色划分权限
查看>>
维吉尼亚之加解密及破解
查看>>
DES加解密
查看>>
TCP/IP协议三次握手与四次握手流程解析
查看>>
PHP 扩展开发 : 编写一个hello world !
查看>>
inet_ntoa、 inet_aton、inet_addr
查看>>
用模板写单链表
查看>>
用模板写单链表
查看>>
链表各类操作详解
查看>>
C++实现 简单 单链表
查看>>
数据结构之单链表——C++模板类实现
查看>>
Linux的SOCKET编程 简单演示
查看>>
正则匹配函数
查看>>
Linux并发服务器编程之多线程并发服务器
查看>>
聊聊gcc参数中的-I, -L和-l
查看>>
[C++基础]034_C++模板编程里的主版本模板类、全特化、偏特化(C++ Type Traits)
查看>>