一,父子组件传参。

1.首先在项目目录中新建template文件夹,里边包含父组件:List.vue以及子组件:firstComponent.vue,secondComponent.vue。

2.父组件引入子组件并且在components中注册

import LIST from '../template/List';

export default {
     components:{LIST}

}

页面直接引用

<LIST></LIST>

3.父组件向子组件传值

<LIST :pageNum="pageNum" :father="father" :tableData="tableData"></LIST>

子组件需要在props接收

export default{

props:['tableData',"father","pageNum"]

}

子组件页面直接引用

<div>{{father}}</div>

<div>{{pageNum}}</div>

<div :data="tableData"></div>

4.父组件调用子组件的方法需要使用ref定义

<LIST :pageNum="pageNum" :father="father" :tableData="tableData"  ref="myChild"></LIST>

父组件methods方法:

methods: {

clickParent(){
             this.$refs.myChild.childClick();

}
   }

子组件方法:

methods:{

childClick(){
           alert('123')
    }

5.子组件调用父组件的方法使用 this.$emit,或者this.$parent

子组件方法:

methods:{

handleEdit(index, row){
                // this.$parent.handleEdit(index, row);//第一种方法
                this.$emit('handleEdit',index,row);//第二种方法this.$emit

}
  },

父组件需要使用@handleEdit自定义方法名称

<LIST :pageNum="pageNum" :father="father" :tableData="tableData"  ref="myChild"  @handleEdit='handleEdit'></LIST>

父组件方法:

handleEdit(index, row) {

this.idx = index;
            this.form = row;
      },

5.子组件向父组件传值用this.$emit

子组件方法:

sendMsg(){

//func: 是父组件指定的传数据绑定的函数,123:子组件给父组件传递的数据
            this.$emit('func',‘123’)
     }

父组件:@func自定义函数名称

<LIST :pageNum="pageNum" :father="father" :tableData="tableData" ref="myChild" @func="getChild" @handleEdit='handleEdit'></LIST>

methods:{

//接受子组件的传值

getChild(data){
                 console.log(data)
          },

}

二。兄弟组件间的传值使用bus(事件总线)

1.首先新建一个js文件:bus.js:

import Vue from 'vue';

// 使用 Event Bus
          const bus = new Vue();

export default bus;

2.在子组件中分别引入bus.js

import bus from '../bus.js';

(1) firstComponents:第一个子组件中传值:

methods:{

                  sendFirst(){

                      bus.$emit('clickFirstEvent','这是从第一个组件传过来的值')
                   }
            }

(2) secondComponents:第二个子组件中接收:

mounted(){

                   bus.$on('clickFirstEvent',res=>{
                        console.log(res)
                     })
             }

vue组件传参,父子组件以及兄弟组件(非常详细)的更多相关文章

  1. Angular 项目开发中父子组件传参

    在项目开发中经常会遇到 组件之间传参的问题.今天总结下在使用angular的项目中父子组件传参的问题: 1.父组件向子组件传参: 然后在父组件中 然后在父组件的html中 然后就可以在子组件中使用了 ...

  2. Vue 子组件向父组件传参

    直接上代码 <body> <div id="counter-event-example"> <p>{{ total }}</p> & ...

  3. vue初始化、数据处理、组件传参、路由传参、全局定义CSS与JS、组件生命周期

    目录 项目初始化 组件数据局部化处理 子组件 父组件 路由逻辑跳转 案例 组件传参 父传子 子组件 父组件 子传父 子组件 父组件 组件的生命周期钩子 路由传参 第一种 配置:router/index ...

  4. vue-父子组件传参以及无限级评论

    vue父子组件的使用 <template> <div> <zi :data="data" /> </div> </templa ...

  5. vue 父子组件传参

    父向子组件传参 例子:App.vue为父,引入componetA组件之后,则可以在template中使用标签(注意驼峰写法要改成componet-a写法,因为html对大小写不敏感,component ...

  6. vue 监听父子组件传参,对象数据变化

    watch:{ 组件传参的字段 :{ handler (newV, oldV){ 这里打印 newV, oldV 就可以看到数据变化了 } , immediate: true, // 重点 deep: ...

  7. vue组件传参

    一.父子组件的定义 负值组件的定义有两种,我称为常规父子组件和特殊父子组件. 1.1.常规父子组件 将其他组件以import引入用自定义标签接收,在当前组件中component里注册该标签,页面上可以 ...

  8. Vue(小案例_vue+axios仿手机app)_公共组件(路由组件传参)

    一.前言                    1.公共轮播图的实现                    2.组件传参,公共组件的实现 二.主要内容 1.公共轮播图的实现 (1)分析:当渲染不同的轮 ...

  9. 从 Vue 的视角学 React(四)—— 组件传参

    组件化开发的时候,参数传递是非常关键的环节 哪些参数放在组件内部管理,哪些参数由父组件传入,哪些状态需要反馈给父组件,都需要在设计组件的时候想清楚 但实现这些交互的基础,是明白组件之间参数传递的方式, ...

  10. vue 组件传参

    路由配好了 再传个参呗 注:组件信息流转的时候只能单向1 > 父子传参传参:通过属性prop:传递数据 a.父组件传参给子组件 子组件: <ul> <li v-for=&quo ...

随机推荐

  1. 4口高速USB 2.0 HUB控制器 DPU1.1S,兼容替代FE1.1S

    DPU1.1S是一款高性能.低功耗 4 口高速 USB2.0HUB 控制器,上行端口兼容高速 480MHz和全速 12MHz 两种模式,4个下行端口兼容高速480MHz.全速12MHz.低速 1.5M ...

  2. git技能树总结

    1. git简介 版本控制: 指的是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.版本控制系统发展可分三个阶段:本地版本控制系统 -> 集中式版本控制系统 -> 分布 ...

  3. 第三周day2

    第三周day2,星期二 所花时间:1h 代码量:60 博客量:2 了解知识点:按钮属性,文本属性.帧布局.表格布局.约束布局.

  4. 直接使用Arrays.asList()转数组,转变类型实际为AbstractList

    1.直接将数组转换为list时List的类型为AbstractList public static void main(String[] args) { String[] arr = {"A ...

  5. mmdetection3d安装

    conda create -n openmmlab python=3.7 -y conda activate openmmlab pip install torch==1.8.1+cu101 torc ...

  6. 画ERA5气压层剖面图(含地形)

    气象上一般使用气压垂直坐标系,在不同的气压层绘制变量.ERA5再分析数据的最低气压层是1000 hPa.实际上,由于地形起伏,一些位置的地面气压低于1000 hPa,一些位置的地面气压高于1000 h ...

  7. 【Python3+Selenium】基本操作

    一.环境准备 1.Selenium安装教程 1.1 打开cmd,输入如下命令:pip/pip3 install selenium 1.2 安装完成后查看Python路径包管理(Lib\site-pac ...

  8. java 守护线程的关闭

    在进程内所有用户线程 全部消亡后,如果 守护线程仍在执行 ( 注意: 守护线程并不是一直运行中,守护线程中的代码执行完毕,则守护线程自然消亡. ),则会被强制消亡.

  9. 部分jdk网盘链接

    链接:https://pan.baidu.com/s/1Nw84qVRL3Buarh2LY1lWEg 提取码:6q2z 含 6u45 7u80 8u202 11.0.X 的win及linux版 没有网 ...

  10. xlwings.copy两种用法和匹配超链接

    第一种复制整个sheet页,不能覆盖同名sheet,需先删除.name新sheet也名称 after复制后的位置wb.sheets('增量机会-体外刷新导入').copy(name='快照版本(勿动) ...