作者:李佳明同学
链接:https://www.jianshu.com/p/2272b6ca0f0c

一个故事讲懂vue父子组件传值

讲故事前先讲代码

父组件向子组件传值

父组件数据传递给子组件可以通过props属性来实现
父组件:

<template>
 <div id="app">
   <child-component
v-bind:dataOfChild="dataOfParent">
</child-component>
 </div></template><script>
 import childComponent from '
./components/childComponent'
 export default {    name: 'App',
   data(){      return {      
 dataOfParent:'1111111111'
     }
   },    components:{
     childComponent
   },
 }</script>

子组件:

<script>export default {  
name: 'childComponent',
 //子组件通过props来接收数据:
 props:['dataOfChild'],
 data () {    return {  
    dataOfChild:this.dataOfChild
   }
 }
}</script>

父向子传值总结:

v-bind:dataOfChild="dataOfParent"
(父组件)====>props:['dataOfChild'](子组件)

子组件向父组件传值

子组件:

<template>
 <div>
   <button @click="sendDataToParent">
向父组件传值</button>
 </div></template><script>
 export default {  
 name: 'childComponent',    
 methods:{  
     sendDataToParent:function () {      
     //$emit(even,value)even 是一个函数,
         value 是传给父组件的值
       this.$emit('parentFunction',
         'helloworld')
     },
   }
 }</script>

父组件:

<template>
 <div id="app">
   <!--监听子组件触发的parentFunction事件,
然后调用customParentFunction方法-->
   <child-component v-on:parentFunction=
"customParentFunction">
</child-component>
 </div></template><script>
 import childComponent from './components
/childComponent'
 export default {    name: 'App',
   components:{
     childComponent
   },    methods: {      
 customParentFunction:function (data) {      
   console.log('子组件传过来的值',data)  
        //helloworld
     }
   }
 }</script>

子向父传值总结:

this.$emit('parentFunction',
'helloworld')(子组件)====>
v-on:parentFunction="
customParentFunction"(父组件)====>
customParentFunction:function
(data) {}(父组件)

接下来是强化记忆阶段:

情节一

话说,在遥远的大山那边,有一对父子,父亲叫老王,儿子叫小明。父亲由于岁数大了,平常就在家干点农活,小明为了养家,外出打工。
有一天,小明想爸爸了,拿起手机给爸爸发短信,子组件主动向父组件传值,小明拿起手机,调用sendDataToParent方法,在通讯录找到了爸爸的手机号,this.$emit的第一个参数,函数名然后拿起手机,抠了一堆字:爸爸我想你了,最近怎么样?this.$emit的第二个参数,内容,然后发送~,短信传到了信号塔,child-component相当于基站,基站对所有短信进行监听,正好,基站的列表里有小明父亲的名单,===》v-on:parentFunction然后,短信又由基站传到了老王那边,老王的手机铃想了:苍茫的天涯是我的爱 绵绵的青山脚下花正开~~~响铃相当于调用customParentFunction方法,然后,值就传过来了

 

情节二

但是呢,小明在外打工,有时工作比较忙,忘了给爸爸发短信,所以老王想儿子了,但老王比较保守,又没大上过学,也不会打字,所以写了封信,去了邮局。

老王用笔在纸上写了好多内容,把纸 纸相当于dataOfParent,也就是数据 放进了信封信封相当于属性,也就是v-bind:dataOfChild里,然后给了邮局相当于child-component,相当于一个中介快递员进行派送,小明来到邮箱相当于props,看到里边有封信相当于父组件的值,拿了出来。
这是我第一次用情景故事的形式来写文章,也是一次新的尝试,如有不足,或者错的地方,还请大家多多指点。

本文完~

一个故事讲懂vue父子组件传值的更多相关文章

  1. vue父子组件传值加例子

    例子:http://element-cn.eleme.io/#/zh-CN/component/form         上进行改的 父传子:用prop:子组件能够改变父组件的值,是共享的,和父操作是 ...

  2. 关于Vue父子组件传值(复杂数据类型的值)的细节点

    vue 父子组件传值是很常见的,多数情况下都是父传递给子的值是基础数据类型,如string,number,boolean, 当父组件值被修改时,子组件能够实时的作出改变. 如果父子传值的类型是复杂数据 ...

  3. vue 父子组件传值以及方法调用,平行组件之间传值以及方法调用大全

    vue项目经常需要组件间的传值以及方法调用,具体场景就不说了,都知道.基本上所有的传值都可以用vuex状态管理来实现,只要在组件内监听vuex就好. vue常用的传值方式以及方法有: 1. 父值传子( ...

  4. Vue 父子组件传值 props

    1.Vue 的渲染周期: vue 如何实现响应式追踪. 父子组件通信有很多方式,今天单独聊下props 的方式.我们通过查找官方文档很容发现,props传值有静态和动态两种传值方式. 当然props ...

  5. vue 父子组件传值,兄弟组件传值

    父子组件中的传值 父向子    v-bind props <!-- 组件使用v-bind传值 --> <router :msg="msg"></rou ...

  6. Vue父子组件传值以及父调子方法、子调父方法

    稍微总结了一下Vue中父子间传值以及相互调方法的问题,非常基础.希望可以帮到你!先来个最常用的,直接上代码: 1.父传值给子组件 父组件: <template> <div> & ...

  7. VUE父子组件传值问题

    一.父组件向子组件传递数据 组件实例的作用域是孤立的.这意味着不能(也不应该)在子组件的模板内直接引用父组件的数据.要让子组件使用父组件的数据,我们需要通过子组件的props选项. 1.静态props ...

  8. Vue父子组件传值之——访问根组件$root、$parent、$children和$refs

    Vue组件传值除了prop和$emit,我们还可以直接获取组件对象: 根组件: $root // 单一对象 表示当前组件树的根 Vue 实例,即new Vue({...根组件内容}).如果当前实例没有 ...

  9. vue父子组件传值

    1.父组件向子组件传值 例如app.vue是父组件,v-header.vue是子组件,实现app向v-header传值父组件需要自定义自己的title值, 子组件v-header内容 <temp ...

随机推荐

  1. $Noip$前的小总结哦

    考试失误点与积累 有点不知道该干嘛了,状态有点差,写点东西.(后面可能会加更一点东西?) 常规错误 \(1.\) 数组开小 \(2.\) \(int\)和\(longlong\) \(3.\) 开某题 ...

  2. 【leetcode】1021. Best Sightseeing Pair

    题目如下: Given an array A of positive integers, A[i]represents the value of the i-th sightseeing spot, ...

  3. 随手记--QT

    设置toolButton按钮隐藏(可视化): ui->toolButton->setVisible(true); 改变按钮背景色: ui->toolButton->setSty ...

  4. php quotemeta()函数 语法

    php quotemeta()函数 语法 作用:在预定义字符前添加反斜杠东莞直线电机 语法:quotemeta(string) 参数: 参数 描述 string 必须,需要处理的字符串 说明:该函数可 ...

  5. PHP curl_multi_getcontent函数

    curl_multi_getcontent — 如果设置了CURLOPT_RETURNTRANSFER,则返回获取的输出的文本流 说明 string curl_multi_getcontent ( r ...

  6. linux0.11源码内核——系统调用,int80的实现细节

    linux0.11添加系统调用的步骤 假设添加一个系统调用foo() 1.修改include/linux/sys.h 添加声明 extern int foo(); 同时在sys_call_table数 ...

  7. Oracle or Question Solve(一)

    Oracle查看版本命令:select * from v$version; ORACLE_BASE和ORACLE_HOME路径查看su - oracleecho $ORACLE_BASEecho $O ...

  8. UILabel How to set background image

    UILabel *myLabel=[[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 20)]; UIImage *img = [UIImage ...

  9. Flutter样式和布局控件简析(二)

    开始 继续接着分析Flutter相关的样式和布局控件,但是这次内容难度感觉比较高,怕有分析不到位的地方,所以这次仅仅当做一个参考,大家最好可以自己阅读一下代码,应该会有更深的体会. Sliver布局 ...

  10. flask-路转换器

    from flask import Flask, render_template from werkzeug.routing import BaseConverter # 配置regex路由转换器 # ...