vue组件之间值传递四种方法汇总
1、父组件获取子组件的数据和方法 $refs
子组件:
<template>
<div class="header">
<h3>{{ zz }}</h3>
</div>
</template> <script>
export default {
name: 'cx',
data () {
return {
zz: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX'
}
},
methods: {
zxx: function () {
alert('子组件方法zxx()')
}
}
}
</script>
<style scoped>
</style> 父组件:
<template>
<div>
<h1>{{ mm }}</h1>
<yyy ref="ry"></yyy>
</div>
</template> <script>
import yyy from './cx' export default {
name: 'cy',
data () {
return {
mm: 'YYYYYYYYYYYYYYYYYYYYYYYYYYYY'
}
},
mounted () {
alert(this.$refs.ry.zz)
this.$refs.ry.zxx('父组件赋值的值')
},
components: {
yyy: yyy
}
}
</script>
<style scoped>
</style> 2、子组件调父组件的数据 props
子组件:
<template>
<div class="header">
<h3>{{ zz }}</h3>
<h1>{{ msg }}</h1>
</div>
</template> <script>
export default {
name: 'cx',
data () {
return {
zz: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX'
}
},
props: ['msg'],
methods: {
}
}
</script>
<style scoped>
</style>
父组件:
<template>
<div>
<h1>{{ mm }}</h1>
<yyy :msg = "fav"></yyy>
</div>
</template> <script>
import yyy from './cx' export default {
name: 'cy',
data () {
return {
mm: 'YYYYYYYYYYYYYYYYYYYYYYYYYYYY',
fav: '父组件的数据'
}
},
mounted () {
},
components: {
yyy: yyy
}
}
</script>
<style scoped>
</style>
3、子组件调用父组件的方法并传递数据 $emit
子组件:
<template>
<div class="header">
<h3>{{ zz }}</h3>
<button @click="cd">传递参数</button>
</div>
</template> <script>
export default {
name: 'cx',
data () {
return {
zz: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX'
}
},
methods: {
cd: function (msg) {
this.$emit('zbt','子组件传递的参数')
}
}
}
</script>
<style scoped>
</style>
父组件:
<template>
<div>
<h1>{{ mm }}</h1>
<yyy type="button" @zbt = "bt">获取子组件传递的参数</yyy>
</div>
</template> <script>
import yyy from './cx' export default {
name: 'cy',
data () {
return {
mm: 'YYYYYYYYYYYYYYYYYYYYYYYYYYYY'
}
},
methods: {
bt: function (msg) {
alert(msg)
}
},
components: {
yyy: yyy
}
}
</script>
<style scoped>
</style> 4、兄弟组件互相传值 $emit $on 组件1
<template>
<div>
<h1>{{ mm }}</h1>
</div>
</template>
<script>
import Bus from '../bus.js'
export default {
name: 'cy',
data () {
return {
mm: 'YYYYYYYYYYYYYYYYYYYYYYYYYYYY'
}
},
mounted: function () {
Bus.$on('a',(xx) => {
alert('我是cy,获取到了cx的值:'+xx)
})
}
}
</script>
<style scoped>
</style>
组件2
<template>
<div class="header">
<h3>{{ zz }}</h3>
<!-- <el-button type="success" @click="bus">触发</el-button>-->
</div>
</template>
<script>
import Bus from '../bus.js'
export default {
name: 'cx',
data () {
return {
zz: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX'
}
},
mounted: function () {
var xx = "cx的值";
Bus.$emit('a',xx)
}
}
</script>
<style scoped>
</style>
vue组件之间值传递四种方法汇总的更多相关文章
- JS去除数组中重复值的四种方法
JS去除数组中重复值的四种方法 1 /// <summary> o[this[i]] = ""; } } newArr.p ...
- JAVA中获取文件MD5值的四种方法
JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过Messa ...
- Activity的跳转及返回值 的四种方法
Activity生命周期 从创建到销毁的生命周期: onCreate()→onStart()→onResume()→onPouse()→onStop()→onDestroy() 从起动到后台再到前台: ...
- vue组件之间通信的8种方式
对于vue来说,组件之间的消息传递是非常重要的,下面是我对组件之间消息传递的常用方式的总结. props和$emit(常用) $attrs和$listeners 中央事件总线(非父子组件间通信) v- ...
- vue 组件之间数据传递(七)
1.props:父组件 -->传值到子组件 app.vue是父组件 ,其它组件是子组件,把父组件值传递给子组件需要使用 =>props 在父组件(App.vue)定义一个属性(变量)sex ...
- Vue组件之间通信的三种方式
最近在看梁颠编著的<Vue.js实战>一书,感觉颇有收获,特此记录一些比价实用的技巧. 组件是MVVM框架的核心设计思想,将各功能点组件化更利于我们在项目中复用,这类似于我们服务端面向对象 ...
- html5 获取和设置data-*属性值的四种方法讲解
1.获取id的对象 2.需要获取的就是data-id 和 dtat-vice-id的值 一:getAttribute()方法 const getId = document.getElementById ...
- 13. VUE 组件之间数据传递
组件数据传递: 父组件向内传递属性---动态属性 子组件向外发布事件 solt 插槽传递模板---具名solt 1. 父组件向子组件传递数据 子组件在父组件的并作为标签引入,通过设置标签的属性传递数据 ...
- 交换A与B值的四种方法
在网上看到了这样一道面试题,"int A=5,int B=2,怎样交换A与B的值",或许这是一道简单到不能再简单的题,但能作为一道面试题,肯定有其独特之处 大多数人会通过定义第三个 ...
随机推荐
- 数学-概率-New 21 Game
2020-02-10 13:24:26 问题描述: 问题求解: 第一次看到这个题目的时候想到的是之前做过的一条概率题,就是那个国际象棋,那条题目的做法是使用dp去对所有留在棋盘的种类进行计数,然后除以 ...
- 2、Spark Core职责之初始化(1)——SparkContext
SparkContext(Spark上下文) /** * Main entry point for Spark functionality. A SparkContext represents the ...
- 解决 Mac Android Studio Gradle Sync 慢的问题
1.启动Android Studio 2.从项目的 gradle/wrapper/gradle-wrapper.properties 目录中找到 distributionUrl 这个字段,查看后面对应 ...
- nodejs 配置代理服务器
const express = require('express'); const proxy = require('http-proxy-middleware'); const cors = req ...
- Android | 教你如何用华为HMS MLKit SDK 三十分钟在安卓上开发一个微笑抓拍神器
Android | 只要三十分钟就可以在手机上开发一个微笑抓拍神器!!! 前言 前段时间Richard Yu在发布会上给大家介绍了华为HMS Core4.0,回顾发布会信息请戳: 华为面向全球发布HM ...
- 爬虫scrapy框架的使用
第一步 下载scrapy模块: pip install scrapy 第二步 创建项目 在终端/cmd进入创建项目的目录:scrapy startproject douban(项目名) 导入pycha ...
- Git 命令实战入门 ,奶妈级教程
我不会用*官方*的语言告诉你Git 是什么,对此我表示深深得歉意--在我看来像CSDN.博客园.掘金等博客交流平台就是小的“GitHub”,只不过在这里更多的是一些零零散散的笔记或者文章,其实Gihu ...
- 如何在Linux下优雅的查询日志
做为一名合格的Java后台开发 经常需要查询线上的日志,定位线上问题 所以熟练掌握日志查询的命令 可以使你更加迅速的定位错误日志位置,及时解决问题 在此,我将介绍几个自己工作中经常使用到的日志查询命令 ...
- 【Java技术系列】爱情36技之Bug大战
1. 鲁迅先生说:程序员,天不怕地不怕,就怕小虫儿爬呀爬,爬呀爬. 随着时间的推移,鲁迅先生又说:真正勇猛的程序员,敢于让虫子面对惨淡的虫生. 虫子在程序员心中是啥东西?虫子的学名为 Bug,是多少入 ...
- Java基础知识1-Java简介
Java语言技术架构 JAVASE:(Java platform to Standard Edition)标准版,用于桌面级应用开发. JAVAME:(Java plataform to Micro ...