父组件向子组件传值

父组件可以在引用子组件时,通过属性绑定(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. 量子计算机编程(一)——QPU编程

    今天要给大家介绍的是这本书<Programming Quantum Computers -- Essential Algorithms and Code Samples>,主要讲如何在量子 ...

  2. 2.5D(伪3D)站点可视化第一弹

    楔子 最近要做一个基站站点的可视化呈现项目. 我们首先尝试的是三维的可视化技术来程序,但是客户反馈的情况是他们的客户端电脑比较差,性能效率都会不好,甚至有的还是云主机. 因此我们先做了一个性能比较极致 ...

  3. redis说明及部署

    一.reids 概述 redis全称REmote DIctionary Server.一个基于KV的持久化分布式数据库.所编写的语言为C.与另一个分布式缓存Memcached有几分相似 但是redis ...

  4. Java 添加、读取、删除Excel文档属性

    在文档属性中,可以设置诸多关于文档的信息,如创建时间.作者.单位.类别.关键词.备注等摘要信息以及一些自定义的文档属性.下面将通过Java程序来演示如何设置,同时对文档内的已有信息,也可以实现读取和删 ...

  5. vue 信使 ------fetch、axios

    fetch 1.什么是fetch 相当于promise 必须写两个then 第一个then返回状态码 返回成json格式 第二个then返回json数据 2.使用方法 $ npm install fe ...

  6. css3 动画 示例

    /* animation */ .a-bounce,.a-flip,.a-flash,.a-shake,.a-swing,.a-wobble,.a-ring{-webkit-animation:1s ...

  7. VFP获取 SQL Server 的数据表、触发器、存储过程、视图等脚本

    本文代码转载自红雨先生 *-----------------------------------------------* SqlServer 相关函数*----------------------- ...

  8. win10电脑搭建网站

    新建网站之后,IIS错误提示是:在计算机“.”上没有找到服务W3SVC,需要在“启动或关闭windows功能”添加.net 3.5下面的两个程序. https://img-blog.csdn.net/ ...

  9. ansible hosts配置

    编辑/etc/ansible/hosts 添加本机的public SSH key到目标机器的authorized_keys   #ssh-copy-id 添加本机的私钥到Ansible 运行ansib ...

  10. 解析如何防止XSS跨站脚本攻击

    2012-11-20 09:03 (分类:网络安全) 这些规则适用于所有不同类别的XSS跨站脚本攻击,可以通过在服务端执行适当的解码来定位映射的XSS以及存储的XSS,由于XSS也存在很多特殊情况,因 ...