父组件向子组件传值

父组件可以在引用子组件时,通过属性绑定(v-bind:)的形式,把数据传递给子组件。在子组件的props中定义后即可使用数据

<div id="app">
<!-- 如果父组件传递的是静态的值,可以不用加:进行绑定 -->
<!-- props命名驼峰式。在html中以短横线分隔命名 -->
<com1 parent-msg="父组件数据2"></com1>
<com1 :parent-msg="msg"></com1>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
msg: '父组件的数据'
},
components: {
com1: { template: '<h1>这是子组件-- {{parentMsg}}</h1>',
//props可以是数组!!把父组件传递过来的属性在props中定义以后才能使用。只读
//组件中的props中的数据都是通过父组件传递过来的。组件中的data数据都是子组件私有的,与父组件没有关系。可读可写
props: ['parentMsg'],
data() {
return {
title: 123,
content: 'qqq'
}
},
}, }
})
</script>

父组件将方法传递给子组件

父组件向自徐建传递方法,使用事件绑定机制。为子组件使用语句绑定事件(事件名1),其中调用父组件的事件(事件名2),并在子组件本身中绑定事件(比如点击事件为事件名3),在子组件的methods中定义事件(事件名3),在其中调用this.$emit('事件名2')

<div id="app">
<com2 @func="show"></com2>
</div> <template id="tmpl">
<div>
<h1>这是子组件</h1>
<button @click="myclick">子组件按钮,点击触发父组件的事件</button>
</div>
</template> <script>
new Vue({
el: '#app',
data: {},
methods: {
show() {
console.log('调用了父组件的show方法')
}
},
components: {
com2: {
template: '#tmpl',
methods: {
myclick() {
this.$emit('func')
}
}
}
}
})
</script>

子组件向父组件传值

与 父组件向子组件传递事件类似,在this.$emit函数中,可添加参数。将子组件数据作为参数放在其中,在父组件方法调用时可以获取该参数

new Vue({
el: '#app',
data: {
datamsgFromSon: null
},
methods: {
show(data) {
console.log(data)
this.datamsgFromSon = data
}
},
components: {
com2: {
data() {
return {
sonmsg: {
name: '小头儿子',
age: 6,
}
}
},
template: '#tmpl',
methods: {
myclick() {
//从第二个参数开始都是向父组件方法的传参
this.$emit('func', this.sonmsg)
}
}
}
}
})

也可通过ref获取子组件的数据或方法

<div id="app">
<login ref="mylogin"></login>
<button @click="btn">获取组件数据与事件</button>
</div>
<template id="tmpl">
<h3>登录组件</h3>
</template> <script>
new Vue({
el: '#app',
methods: {
btn() {
//通过$refs获取
console.log(this.$refs.mylogin.msg)
this.$refs.mylogin.show()
}
},
components: {
login: {
template: '#tmpl',
data() {
return {
msg: 'son msg'
}
},
methods: {
show() {
console.log('调用了子组件的show方法')
}
}
}
}
})
</script>

vue组件之间传值的更多相关文章

  1. vue组件之间传值方式解析

    vue组件之间传值方式解析一.父组件传到子组件 1.父组件parent代码如下: <template> <div class="parent"> <h ...

  2. Vue 组件之间传值

    一.父组件向子组件传递数据 在 Vue 中,可以使用 props 向子组件传递数据. 子组件部分: 这是 header.vue 的 HTML 部分,logo 是在 data 中定义的变量. 如果需要从 ...

  3. 每天一点点之vue框架开发 - vue组件之间传值(父向子传值)

    路由文件 { path: '/productListBase', name: 'productListLink', component: ProductListBase, redirect: '/pr ...

  4. vue组件之间的传值——中央事件总线与跨组件之间的通信($attrs、$listeners)

    vue组件之间的通信有很多种方式,最常用到的就是父子组件之间的传值,但是当项目工程比较大的时候,就会出现兄弟组件之间的传值,跨级组件之间的传值.不可否认,这些都可以类似父子组件一级一级的转换传递,但是 ...

  5. vue 组件之间互相传值:兄弟组件通信

    vue 组件之间互相传值:兄弟组件通信我们在项目中经常会遇到兄弟组件通信的情况.在大型项目中我们可以通过引入 vuex 轻松管理各组件之间通信问题,但在一些小型的项目中,我们就没有必要去引入 vuex ...

  6. Vue组件间传值 v-model

    使用过Vue的同学应该都了解组件之间传值 父组件 --> 子组件 : props 子组件 --> 父组件 : 事件 其实有一种更为简单的方法,是基于上述两种方法,那就是 v-model 我 ...

  7. vue 组件与传值

    一.表单输入绑定(v-model 指令) 可以用 v-model 指令在表单 <input>.<textarea> 及 <select> 元素上创建双向数据绑定. ...

  8. 8.【nuxt起步】-vue组件之间数据交互

    那么现在问题来了,我现在是在index.vue获取了服务端的数据,怎么传值到maincontent.vue?当然你也可以把获取数据放在maincontent.vue,但假如有些数据同时在header, ...

  9. 从0开始探究vue-组件化-组件之间传值

    理解 Vue中有个非常重要的核心思想,就是组件化,组件化是为了代码复用 什么是组件化 组件化,就像一个电脑主机里的主板,有内存条的插口,有硬盘,光驱等等的插口,我们的项目,就像一个电脑主机,通过各种组 ...

随机推荐

  1. 【题解】P1908 逆序对——归并算法

    先吐槽 这题做了两天,昨天讲分治,老师用归并讲了一遍,今天又用树状数组讲了一遍 归并不难,啊啊啊我居然才调出来 思路 归并两个数组时,对于第二个数组的元素a[c2],它与第一个数组中目前还没归到总数组 ...

  2. CentOS 6.4安装mongo的php扩展包

    最近安装mongo相关内容,因mongodb下载好解压即可使用,在这里我就不多说了,这里我分享下如何安装mongo的php扩展 首先下载扩展包https://github.com/mongodb/mo ...

  3. python基础之字符串基本功能

    终于还是踏上了Python的不归路,不知道能不能走的完. 先总结一下今天学习的字符串的各个功能吧:只写了部分用的比较多的. 1.capitalize: 字符串首字母大写 >>> na ...

  4. NR / 5G - W-OFDM

  5. ajax面试要点

    目录 目录 ajax是什么? 优点 缺点 ajax的工作原理 如何创建一个ajax(ajax的交互模型) ajax过程中get和post的区别 同步和异步的区别 JavaScript 的同源策略 如何 ...

  6. Linux压缩归档管理

    什么是压缩? 压缩就是用时间换取空间,CPU的时间换取磁盘的空间,下载传输的过程中可以节约带宽. zip/unzip zip支持多平台,支持归档压缩.文件经它压缩后会另外产生具有".zip& ...

  7. 【重新整理】log4j 2的使用

    一 概述 1.1 日志框架 日志接口(slf4j) slf4j是对所有日志框架制定的一种规范.标准.接口,并不是一个框架的具体的实现,因为接口并不能独立使用,需要和具体的日志框架实现配合使用(如log ...

  8. 自己用C语言写NXP S32K116 serial bootloader

    了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 每次我有了新的EVA ...

  9. Cobalt Strike生成后门

    Cobalt Strike生成后门 1.Payload概念 Payload在渗透测试之中大家可以简单地理解为一段漏洞利用/植入后门的代码或程序. 2.Cobalt Strike生成后门 攻击--> ...

  10. 智和网管平台SugarNMS赋能AI智能化运维

    11月14日,由<网络安全和信息化>和IT运维网联合主办的2019(第十届) IT运维大会上海站在锦荣国际大酒店如期召开.运维领域权威专家.技术领袖.各类运维相关技术产品提供商及服务商共同 ...