Vue组件传值,父传子,子传父,非父子组件
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组件传值,父传子,子传父,非父子组件的更多相关文章
- 组件基础(非父子组件传值)—Vue学习笔记
最近几天忙着写Api去了,抽空把后面的内容下出来,然后再分享给大家web可以使用的api. 上次说了父子组件直接的传值,这次看一下非父子组件之间的传值(总线机制) 要实现非父子组件之间的传值非常重要的 ...
- 【vue】父组件主动调用子组件 /// 非父子组件传值
一 父组件主动调用子组件: 注意:在父组件使用子组件的标签上注入ref属性,例如: <div id="home"> <v-header ref="he ...
- Vue父子,子父,非父子组件之间传值
Vue组件基础 纯属随笔记录,具体详细教程,请查阅vue.js网站 子组件给父组件传值: <body> <div id="app"> <my-app& ...
- vue非父子组件间传参问题
最近在使用vue进行开发,遇到了组件之间传参的问题,此处主要是针对非父子组件之间的传参问题进行总结,方法如下:一.如果两个组件用友共同的父组件,即 FatherComponent.vue代码 < ...
- vue中父子组件之间的传值、非父子组件之间的传值
在Vue实例中每个组件之间都是相互独立的,都有自己的作用域,所以组件之间是不能直接获取数据.在项目开发中一个组件可能需要获取另一个组件的值,我们可以通过其他方法间接的获取.所以,获取的方法有以下几种: ...
- Vue组件通信之非父子组件传值
前言: 如果想要了解非父子关系的组件传值,最好是在了解父传子和子传父的基础上在来了解非父子传值可能会有更透彻的思路. 因为非父子传值是通过定义事件总线来代理实现父传子+子传父从而实现的传值方式. 这是 ...
- 简述在Vue脚手架中,组件以及父子组件(非父子组件)之间的传值
1.组件的定义 组成: template:包裹HTML模板片段(反映了数据与最终呈现给用户视图之间的映射关系) 只支持单个template标签: 支持lang配置多种模板语法: script:配置Vu ...
- Vue—非父子组件间的传值(Bus/发布订阅模式/观察者模式/总线)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue2.0父子组件以及非父子组件通信传参详解
1.父组件传递数据给子组件 父组件数据如何传递给子组件呢?可以通过props属性来实现 父组件: <parent> <child :child-msg="msg" ...
随机推荐
- java8 Date Localdatetime instant 相互转化(转) 及当天的最大/最小时间
Java 8中 java.util.Date 类新增了两个方法,分别是from(Instant instant)和toInstant()方法 // Obtains an instance of Dat ...
- 进击JavaScript核心 --- (3)面向对象
JS中的对象定义为:无序属性的结合,其属性可以包含基本值.对象或者函数 1.定义对象的方式 (1).Object构造函数 var student = new Object(); student ...
- ajax上传文件(javaweb)
前台:FormData, formData.append("fileName",$("#file")[0].files[0];); https://ww ...
- VUE路由过度效果vs缓存
app页面 router.js
- excel 数据读写 Aspose.Cells.dll
private void Form1_Load(object sender, EventArgs e) { writeExcel(); Workbook workbook = new Workbook ...
- vue大文件上传断点续传解决方案
之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上传,以及各种个性的业务需 ...
- luogu3812 【模板】线性基
Code: #include <cstdio> #include <algorithm> #define ll long long #define N 64 #define s ...
- 内存拷贝函数 memcpy
windows下实现: void* __cdecl memcpy(void* dst,const void* src,size_t count) { void*ret=dst; #if defined ...
- monkeyrunner操作多个设备的例子
# -*- coding: utf-8 -*- from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice from com.an ...
- 关于java代理(静态代理和动态代理)
参考文章:http://kuangbaoxu.iteye.com/blog/193240