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 ...
随机推荐
- Cgroup学习笔记3—代码实现—相关结构和全局变量
基于 LInux-5.10 一.相关结构 1. 通过多次的 #define 和 #undef SUBSYS 宏来展开 cgroup_subsys.h 中通过 deconfig 使能的 cgroup 子 ...
- 使用Git GUI Here进行推送时产生报错
许多小伙伴在刚使用git时都会遇到这个问题,在推送一次内容之后,想要再次推送新的数据产生报错 下面就是我们的错误提示: 我们需要先把数据进行更新 找到Remote-->Fetch from--& ...
- 在线访问GET/POST及格式化json工具
http://coolaf.com/在线访问及格式化json工具谷歌浏览器json插件不是很好实现.安装,替代方案
- Kotlin属性委托
业务定义 对于属性,我们可以读取(get)和赋值(set),在Java中会定义get和set方法来操作属性,Kotlin的属性建议直接操作,一些业务的要求会对属性有额外的功能需求,在Java中会在ge ...
- Linux Shell开发功能点
背景 需要操作一批次服务器安装Docker 功能特色 一键执行 bash <(curl -s -L http://server.com/installDocker.sh) MemberNode ...
- Oracle之关于sql_load导入数据
平时在工作当中经常需要统计数据,客户会提供文本或者列表,需要导入到数据库中进行数据统计碰撞等,这时候需要用到批量导入数据,之前用kettle或者plsqldeveloper的odbc导入工具,性能不行 ...
- 滚动 Scroller OverScroller
原文:https://www.baidu.com/link?url=26iKhqGV7w87fqTiCTCwQc3VPcCbedUpAlddWm3uHsEXAGaeH47xY8QCZNGcORGBAU ...
- 三步建立自己域名的主页,Github Pages功能简明手册
[task]把自己的页面上传到git上,用github pages功能托管网页. 准备工作: 1.自己的网页文件 2.有个自己的git账号 3.下载安装git.下载地址https://git-scm. ...
- js数组的创建、添加、删除、获取指定元素下标
数组: 1.数组内可以存放任意类型的数据 2.数组元素不赋值,则为undefined 3.打印数组时,如果某个元素没有赋值,则为"" 4.访问数组范围以外的元素时,不会出现越界异常 ...
- SFINAE几种实现方式
一.通过函数返回值实现 template<class T> typename std::enable_if<std::is_trivially_default_constructib ...