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组件之间值传递四种方法汇总的更多相关文章

  1. JS去除数组中重复值的四种方法

    JS去除数组中重复值的四种方法 1 /// <summary>            o[this[i]] = "";  }      }       newArr.p ...

  2. JAVA中获取文件MD5值的四种方法

    JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过Messa ...

  3. Activity的跳转及返回值 的四种方法

    Activity生命周期 从创建到销毁的生命周期: onCreate()→onStart()→onResume()→onPouse()→onStop()→onDestroy() 从起动到后台再到前台: ...

  4. vue组件之间通信的8种方式

    对于vue来说,组件之间的消息传递是非常重要的,下面是我对组件之间消息传递的常用方式的总结. props和$emit(常用) $attrs和$listeners 中央事件总线(非父子组件间通信) v- ...

  5. vue 组件之间数据传递(七)

    1.props:父组件 -->传值到子组件 app.vue是父组件 ,其它组件是子组件,把父组件值传递给子组件需要使用 =>props 在父组件(App.vue)定义一个属性(变量)sex ...

  6. Vue组件之间通信的三种方式

    最近在看梁颠编著的<Vue.js实战>一书,感觉颇有收获,特此记录一些比价实用的技巧. 组件是MVVM框架的核心设计思想,将各功能点组件化更利于我们在项目中复用,这类似于我们服务端面向对象 ...

  7. html5 获取和设置data-*属性值的四种方法讲解

    1.获取id的对象 2.需要获取的就是data-id 和 dtat-vice-id的值 一:getAttribute()方法 const getId = document.getElementById ...

  8. 13. VUE 组件之间数据传递

    组件数据传递: 父组件向内传递属性---动态属性 子组件向外发布事件 solt 插槽传递模板---具名solt 1. 父组件向子组件传递数据 子组件在父组件的并作为标签引入,通过设置标签的属性传递数据 ...

  9. 交换A与B值的四种方法

    在网上看到了这样一道面试题,"int A=5,int B=2,怎样交换A与B的值",或许这是一道简单到不能再简单的题,但能作为一道面试题,肯定有其独特之处 大多数人会通过定义第三个 ...

随机推荐

  1. 数学-概率-New 21 Game

    2020-02-10 13:24:26 问题描述: 问题求解: 第一次看到这个题目的时候想到的是之前做过的一条概率题,就是那个国际象棋,那条题目的做法是使用dp去对所有留在棋盘的种类进行计数,然后除以 ...

  2. 2、Spark Core职责之初始化(1)——SparkContext

    SparkContext(Spark上下文) /** * Main entry point for Spark functionality. A SparkContext represents the ...

  3. 解决 Mac Android Studio Gradle Sync 慢的问题

    1.启动Android Studio 2.从项目的 gradle/wrapper/gradle-wrapper.properties 目录中找到 distributionUrl 这个字段,查看后面对应 ...

  4. nodejs 配置代理服务器

    const express = require('express'); const proxy = require('http-proxy-middleware'); const cors = req ...

  5. Android | 教你如何用华为HMS MLKit SDK 三十分钟在安卓上开发一个微笑抓拍神器

    Android | 只要三十分钟就可以在手机上开发一个微笑抓拍神器!!! 前言 前段时间Richard Yu在发布会上给大家介绍了华为HMS Core4.0,回顾发布会信息请戳: 华为面向全球发布HM ...

  6. 爬虫scrapy框架的使用

    第一步 下载scrapy模块: pip install scrapy 第二步 创建项目 在终端/cmd进入创建项目的目录:scrapy startproject douban(项目名) 导入pycha ...

  7. Git 命令实战入门 ,奶妈级教程

    我不会用*官方*的语言告诉你Git 是什么,对此我表示深深得歉意--在我看来像CSDN.博客园.掘金等博客交流平台就是小的“GitHub”,只不过在这里更多的是一些零零散散的笔记或者文章,其实Gihu ...

  8. 如何在Linux下优雅的查询日志

    做为一名合格的Java后台开发 经常需要查询线上的日志,定位线上问题 所以熟练掌握日志查询的命令 可以使你更加迅速的定位错误日志位置,及时解决问题 在此,我将介绍几个自己工作中经常使用到的日志查询命令 ...

  9. 【Java技术系列】爱情36技之Bug大战

    1. 鲁迅先生说:程序员,天不怕地不怕,就怕小虫儿爬呀爬,爬呀爬. 随着时间的推移,鲁迅先生又说:真正勇猛的程序员,敢于让虫子面对惨淡的虫生. 虫子在程序员心中是啥东西?虫子的学名为 Bug,是多少入 ...

  10. Java基础知识1-Java简介

    Java语言技术架构 JAVASE:(Java platform to Standard Edition)标准版,用于桌面级应用开发. JAVAME:(Java plataform to Micro ...