vue3中传值方式:

1、父组件向子组件传值

父组件Blog.vue

 <template>
<div id="blog">
<Alert v-if="alert" v-bind:message="alert"></Alert>
</div>
</template>
<script>
import Alert from './Alert'
export default {
name: 'blog',
data () {
return {
alert:'父组件向子组件传递的值'
}
},
components:{
Alert
}
}
</script>

子组件Alert.vue

 <template>
<div class="alert">
{{message}}
</div>
</template> <script>
export default {
name: 'alert',
props:['message'],
data () {
return { }
}
}
</script>

2、子组件向父组件传值

子组件child.vue

 <template>
<div class="child">
<input v-on:click="sendValue" type="button" value="子组件向父组件传值">
</div>
</template>
<script>
export default{
data(){
return {
val:"子组件的value值"
}
},
methods:{
sendValue(){
this.$emit('titleChanged',this.val);
}
}
}
</script>

titleChanged是父组件中绑定的函数名

父组件father.vue

 <template>
<div class="father">
<h1>{{faval}}</h1>
<child v-on:titleChanged="getValue"></child>
</div>
</template>
<script>
import child from './child.vue'
export default{
data(){
return {
faval:"Hello word!"
}
},
components:{
child
},
methods:{
getValue(data){
this.faval = data
console.log(this.faval)
}
}
}
</script>

3、非父子组件传递值

非父子组件之间传值,需要定义工具文件eventHub.js进行传值,不然路由组件之间达不到传值的效果

组件之间传递参数工具类eventHub.js

 import Vue from 'vue'

 export default new Vue()

组件A向组件B传值

组件A.vue

 <template>
<div class="classA">
<input type="button" value="A组件向B组件发送值" v-on:click="returnHome">
</div>
</template>
<script>
import Hub from './eventHub.js'
export default{
data(){
return {
msg:4
}
},
methods:{
returnHome(){
Hub.$emit('val',this.msg)
}
}
}
</script>

组件B.vue

 <template>
<div class="classB">
<h3>{{name}}</h3>
</div>
</template>
<script>
import Hub from './eventHub.js'
export default{
data(){
return {
name:''
}
},
mounted:function(){
var that = this
Hub.$on('val',(data)=>{
that.name = data
})
}
}
</script>

Vue组件传值,父传子,子传父,非父子组件的更多相关文章

  1. 组件基础(非父子组件传值)—Vue学习笔记

    最近几天忙着写Api去了,抽空把后面的内容下出来,然后再分享给大家web可以使用的api. 上次说了父子组件直接的传值,这次看一下非父子组件之间的传值(总线机制) 要实现非父子组件之间的传值非常重要的 ...

  2. 【vue】父组件主动调用子组件 /// 非父子组件传值

    一  父组件主动调用子组件: 注意:在父组件使用子组件的标签上注入ref属性,例如: <div id="home"> <v-header ref="he ...

  3. Vue父子,子父,非父子组件之间传值

    Vue组件基础 纯属随笔记录,具体详细教程,请查阅vue.js网站 子组件给父组件传值: <body> <div id="app"> <my-app& ...

  4. vue非父子组件间传参问题

    最近在使用vue进行开发,遇到了组件之间传参的问题,此处主要是针对非父子组件之间的传参问题进行总结,方法如下:一.如果两个组件用友共同的父组件,即 FatherComponent.vue代码 < ...

  5. vue中父子组件之间的传值、非父子组件之间的传值

    在Vue实例中每个组件之间都是相互独立的,都有自己的作用域,所以组件之间是不能直接获取数据.在项目开发中一个组件可能需要获取另一个组件的值,我们可以通过其他方法间接的获取.所以,获取的方法有以下几种: ...

  6. Vue组件通信之非父子组件传值

    前言: 如果想要了解非父子关系的组件传值,最好是在了解父传子和子传父的基础上在来了解非父子传值可能会有更透彻的思路. 因为非父子传值是通过定义事件总线来代理实现父传子+子传父从而实现的传值方式. 这是 ...

  7. 简述在Vue脚手架中,组件以及父子组件(非父子组件)之间的传值

    1.组件的定义 组成: template:包裹HTML模板片段(反映了数据与最终呈现给用户视图之间的映射关系) 只支持单个template标签: 支持lang配置多种模板语法: script:配置Vu ...

  8. Vue—非父子组件间的传值(Bus/发布订阅模式/观察者模式/总线)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. vue2.0父子组件以及非父子组件通信传参详解

    1.父组件传递数据给子组件 父组件数据如何传递给子组件呢?可以通过props属性来实现 父组件: <parent> <child :child-msg="msg" ...

随机推荐

  1. 使用gpg来加密数据

    一.数据的加密方式 数据加密有三种方式: 1.对称加密(算法有:DES.AES.3DES.)加密和解密使用同一个密钥 2.非对称加密(RSA.DSA.ELGamal等等)一共四把钥匙,用公钥加密数据, ...

  2. Gym - 101908J Joining Capitals (斯坦纳树)

    题意:二维平面上有n(n<=100)个点,其中k个是星星(k<=10),现要构造一棵树,每个星星对应树上的一个叶子结点,求最小花费(总花费为树上所有边的长度(两点间欧几里得距离)) 斯坦纳 ...

  3. Cannot use JSX unless the '--jsx' flag is provided.

    在tsx文件中加入html代码后,报错 Cannot use JSX unless the '--jsx' flag is provided. 解决方法: 在tsconfig.json中加入: &qu ...

  4. jquery button选择器 语法

    jquery button选择器 语法 作用::button 选择器选取类型为 button 的 <button> 元素和 <input> 元素.大理石平台价格表 语法:$(& ...

  5. Word:不显示图片 + 清空“最近使用的文档”列表

     造冰箱的大熊猫,本文适用于Microsoft Office 2007@cnblogs 2019/3/4 1.Word突然不显示嵌在文本中的图片,只能看到一个空的图片框 解决办法: 1)点击Word左 ...

  6. TensorFlow使用记录 (八): 梯度修剪 和 Max-Norm Regularization

    梯度修剪 梯度修剪主要避免训练梯度爆炸的问题,一般来说使用了 Batch Normalization 就不必要使用梯度修剪了,但还是有必要理解下实现的 In TensorFlow, the optim ...

  7. codeforces269B

    Greenhouse Effect CodeForces - 269B Emuskald is an avid horticulturist and owns the world's longest ...

  8. E. Compress Words(Hash,KMP)

    E. Compress Words time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  9. Android_(控件)使用自定义控件在屏幕中绘制一条虚线

    在Android屏幕中绘制虚线,最通用的是自定义控件DashedLine,再将自定义控件放入xml布局中 运行截图: 程序结构 package com.example.asus.gary_042; i ...

  10. 7.1 Spring原理

    7.1 Spring原理 一.spring是什么?(IOC.AOP.MVC) Spring是一个基于IOC和AOP的结构J2EE系统的框架 , 1.1 IOC 控制反转 是Spring的基础,Inve ...