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 ...
随机推荐
- Jenkins+maven+gitlab+harbor+Rancher
- js获取父节点的方式
js获取父节点的方式: 1.parentNode获取父节点 获取的是当前元素的直接父元素.parentNode是w3c的标准. var p = document.getElementById(&quo ...
- VKM4 批准功能对应 bapi
追踪代码发现function都在这里, SD_ORDER_CREDIT_RELEASE RVALVFORMS CALL FUNCTION 'MESSAGE_TEXT_BUILD' EXPORTI ...
- 如何让公司内网ip映射到公网?
其实这就是端口映射的技术,而端口映射至外网访问2种方法,今天我们来具体谈一谈. 公司内外网互通是网络技术运维人员经常需要面对的问题和需求场景,不管是疫情严重的当下,还是不在公司而又无法快速回公司却又急 ...
- Python占位符总结:%方式和format方式
Python中,我们在预定义某类具有相似格式的变量或者输出一句含有多个变量的提示语句时,往往用到占位符,而占位符有两种表达方式: %方式: 下面这段代码摘自matplotlib的_init_.py文件 ...
- 询问chatGPT的一些问题
- Vue项目的打包方式(生成dist文件)
一.相关配置情况一(使用的工具是 vue-cil) 如果是用 vue-cli 创建的项目,则项目目录中没有 config 文件夹,所以我们需要自建一个配置文件:在根目录 src 下创建文件 vue.c ...
- redis 和docker等名词了解
redis redis产生 redis是MySQL数据库经常直接面对大量的读写访问,面对比较复杂的数据据操作,会导致数据库I/O反映缓慢或者奔溃: 有人研究学习CPU从内寸直接读取数据,把MYSQL经 ...
- java的知识点
java 知识点 1.包装类自带有parse方法 Integer i = 315; int i1 = Integer.parseInt("315"); System.out.pri ...
- linux查看指定时间段日志
1.查看时间段日志:sed -n '/起始时间/,/结束时间/p' 日志文件 sed -n '/2021-05-21 10:08/,/2021-05-21 10:09/p' nohup.out2.指定 ...