vue组件传参,父子组件以及兄弟组件(非常详细)
一,父子组件传参。
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组件传参,父子组件以及兄弟组件(非常详细)的更多相关文章
- Angular 项目开发中父子组件传参
在项目开发中经常会遇到 组件之间传参的问题.今天总结下在使用angular的项目中父子组件传参的问题: 1.父组件向子组件传参: 然后在父组件中 然后在父组件的html中 然后就可以在子组件中使用了 ...
- Vue 子组件向父组件传参
直接上代码 <body> <div id="counter-event-example"> <p>{{ total }}</p> & ...
- vue初始化、数据处理、组件传参、路由传参、全局定义CSS与JS、组件生命周期
目录 项目初始化 组件数据局部化处理 子组件 父组件 路由逻辑跳转 案例 组件传参 父传子 子组件 父组件 子传父 子组件 父组件 组件的生命周期钩子 路由传参 第一种 配置:router/index ...
- vue-父子组件传参以及无限级评论
vue父子组件的使用 <template> <div> <zi :data="data" /> </div> </templa ...
- vue 父子组件传参
父向子组件传参 例子:App.vue为父,引入componetA组件之后,则可以在template中使用标签(注意驼峰写法要改成componet-a写法,因为html对大小写不敏感,component ...
- vue 监听父子组件传参,对象数据变化
watch:{ 组件传参的字段 :{ handler (newV, oldV){ 这里打印 newV, oldV 就可以看到数据变化了 } , immediate: true, // 重点 deep: ...
- vue组件传参
一.父子组件的定义 负值组件的定义有两种,我称为常规父子组件和特殊父子组件. 1.1.常规父子组件 将其他组件以import引入用自定义标签接收,在当前组件中component里注册该标签,页面上可以 ...
- Vue(小案例_vue+axios仿手机app)_公共组件(路由组件传参)
一.前言 1.公共轮播图的实现 2.组件传参,公共组件的实现 二.主要内容 1.公共轮播图的实现 (1)分析:当渲染不同的轮 ...
- 从 Vue 的视角学 React(四)—— 组件传参
组件化开发的时候,参数传递是非常关键的环节 哪些参数放在组件内部管理,哪些参数由父组件传入,哪些状态需要反馈给父组件,都需要在设计组件的时候想清楚 但实现这些交互的基础,是明白组件之间参数传递的方式, ...
- vue 组件传参
路由配好了 再传个参呗 注:组件信息流转的时候只能单向1 > 父子传参传参:通过属性prop:传递数据 a.父组件传参给子组件 子组件: <ul> <li v-for=&quo ...
随机推荐
- Linux程序设计
2.6 shell的语法 2.6.1 变量 参数变量 实验:使用参数和环境变量 #!/bin/sh salutation="Hello" echo $salutation ech ...
- beanshell脚本构造生成随机大小的文件
文件下载地址:链接: https://pan.baidu.com/s/1wum8hfBeLMipdtQlqysp8A?pwd=8e7r 提取码: 8e7r #!/bin/bash -e # sh fi ...
- Worksheet使用方法
1 下载印象笔记: iPhone/iPad在App Store搜索"印象笔记"后下载 安卓在应用市场或在印象笔记官网yinxiang.com下载,图标同上 电脑可至印象笔记官网y ...
- SAP 布局编辑器无法使用问题处理
因一些事情,公司将正式系统的数据拷贝到了开发机,后来在开发中用到了布局编辑器,发现打不开且会报错RFC callback call rejected by whitelist 这个是因为正式机和开发机 ...
- java三级菜单遍历
java 三级菜单遍历 @Override public List<YjztCity> getYjzt(){ List<YjztCity> yjztCities = yjztC ...
- vue 移动端px转rem
1.安装lib-flexible 终端执行命令:npm i lib-flexible --save 2.在main.js引入lib-flexible 3.终端执行命令:npm install post ...
- tp3.2 写入日志
function logs($content, $subDir = ''){ $subDir = trim($subDir, '/\\'); if (empty($content)) return f ...
- 解决leetcode登录报错
1.安装leetcode 2.安装成功后会在拓展下面增在如下图标 点开界面如下 [] 3.点击小地球弹出如下弹窗,选择 启用中国版,可以多点击几次,防止没有选中 4.点击圈出的图标 选择第一个 5.输 ...
- Pytest全局用例共用之conftest.py详解
本文转自:https://blog.csdn.net/qq_36502272/article/details/102975467 一.'conftest特点: 1.可以跨.py文件调用,有多个.py文 ...
- jmeter参数化时最常用随机函数
邮箱类: ${__RandomString(8,abcdefghijklmnopqrstuvwxyz,)}@126.com 手机号类: ${__Random(18000000000,189999999 ...