Vue父子之间值传递的实例教程


Posted in Javascript onJuly 02, 2020

将通过两个input框实现父子之间的值传递作为演示,效果图

Vue父子之间值传递的实例教程

先注册父子各一个组件,代码如下

<div id="app">
    <parent></parent>
  </div>

  <template id="parent">
    <div>
      <input type="text" v-model="text" placeholder="parent">
      <son></son>
    </div>
  </template>
  <template id="son">
    <div>
      <input type="text" placeholder="son">
    </div>
  </template>
new Vue({
    el: "#app",
    components: {
      parent: {
        template: '#parent',
        data() {
          return {
            text: ''
          }
        },
        components: {
          son: {
            template: '#son'
          }
        }
      }
    }
  })

Vue父子之间值传递的实例教程

 一、父传子

再父组件通过属性传递值

<template id="parent">
    <div>
      <input type="text" v-model="text" placeholder="parent">
      <son :text="text"></son>//通过属性值传递
    </div>
  </template>

子组件通过props属性接受

components: {
          son: {
            template: '#son',
            props:['text'] //通过props属性接受父传递过来的值
          }
        }

这样我们就可以使用父组件传递过来的值了

<template id="son">
    <div>
      <input type="text" placeholder="son" :value="text">//使用父元素传递过来的值
    </div>
  </template>

看下现在的效果

Vue父子之间值传递的实例教程

父组件向子组件传递成功

二、子传父

通过父组件自定义事件,然后子组件用$emit(event,aguments)调用

<template id="parent">
    <div>
      <input type="text" v-model="text" placeholder="parent">
      <son :text="text" @ev="item"></son>//自定义事件
    </div>
  </template>


components: {
      parent: {
        template: '#parent',
        data() {
          return {
            text: ''
          }
        },
        components: {
          son: {
            template: '#son',
            props: ['text']
          }
        },
        methods: {
          item(v) { //自定义事件触发的方法
            this.text = v //使用子组件传递过来的值改变this.text数据
          }
        }
      }
    }

再子组件触发自定义事件

<template id="son">
    <div>
      <input type="text" placeholder="son" :value="text" @input="emit" ref="son">//触发自定义事件
    </div>
  </template>



components: {
      parent: {
        template: '#parent',
        data() {
          return {
            text: ''
          }
        },
        components: {
          son: {
            template: '#son',
            props: ['text'], 
            methods: {
              emit() {
                this.$emit('ev', this.$refs.son.value) //触发自定义事件,并传递值
              }
            }
          }
        },
        methods: {
          item(v) {
            this.text = v
          }
        }
      }
    }

这样就完成了子传父,父传子,效果也完成了

总结

到此这篇关于Vue父子之间值传递的文章就介绍到这了,更多相关Vue父子值传递内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
动态修改DOM 里面的 id 属性的弊端分析
Sep 03 Javascript
js获取下拉列表的值和元素个数示例
May 07 Javascript
JQuery跳出each循环的方法
Apr 16 Javascript
7个有用的jQuery代码片段分享
May 19 Javascript
IE7浏览器窗口大小改变事件执行多次bug及IE6/IE7/IE8下resize问题
Aug 21 Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
Sep 14 Javascript
理解javascript对象继承
Apr 17 Javascript
Angularjs 依赖压缩及自定义过滤器写法
Feb 04 Javascript
JavaScript使用表单元素验证表单的示例代码
Aug 20 Javascript
如何在Node和浏览器控制台中打印彩色文字
Jan 09 Javascript
js实现微信聊天界面
Aug 09 Javascript
详解Vite的新体验
Feb 22 Javascript
JS出现404错误原理及解决方案
Jul 01 #Javascript
vue结合el-upload实现腾讯云视频上传功能
Jul 01 #Javascript
详解vue3.0 diff算法的使用(超详细)
Jul 01 #Javascript
mapboxgl区划标签避让不遮盖实现的代码详解
Jul 01 #Javascript
通过angular CDK实现页面元素拖放的步骤详解
Jul 01 #Javascript
微信小程序用户盒子、宫格列表的实现
Jul 01 #Javascript
vue商城中商品“筛选器”功能的实现代码
Jul 01 #Javascript
You might like
php中对2个数组相加的函数
2011/06/24 PHP
php动态生成缩略图并输出显示的方法
2015/04/20 PHP
php实现背景图上添加圆形logo图标的方法
2016/11/17 PHP
浅谈PHP的反射机制
2016/12/15 PHP
laravel利用中间件做防非法登录和权限控制示例
2019/10/21 PHP
JQuery 表格操作(交替显示、拖动表格行、选择行等)
2009/07/29 Javascript
HTML颜色选择器实现代码
2010/11/23 Javascript
jquery批量控制form禁用的代码
2013/08/06 Javascript
JSON遍历方式实例总结
2015/12/07 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
原生JS实现-星级评分系统的简单实例
2016/08/21 Javascript
AngularJs基于角色的前端访问控制的实现
2016/11/07 Javascript
ionic2打包android时gradle无法下载的解决方法
2017/04/05 Javascript
jQuery操作之效果详解
2017/05/19 jQuery
Easyui ueditor 整合解决不能编辑的问题(推荐)
2017/06/25 Javascript
jQuery初级教程之网站品牌列表效果
2017/08/02 jQuery
JS对象序列化成json数据和json数据转化为JS对象的代码
2017/08/23 Javascript
详解用webpack的CommonsChunkPlugin提取公共代码的3种方式
2017/11/09 Javascript
微信小程序实现左侧滑栏过程解析
2019/08/26 Javascript
JavaScript setInterval()与setTimeout()计时器
2019/12/27 Javascript
[53:13]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-GAMING
2014/05/22 DOTA
videocapture库制作python视频高速传输程序
2013/12/23 Python
Python中实现字符串类型与字典类型相互转换的方法
2014/08/18 Python
使用Python中PDB模块中的命令来调试Python代码的教程
2015/03/30 Python
python集合类型用法分析
2015/04/08 Python
Python的Bottle框架的一些使用技巧介绍
2015/04/08 Python
Python中列表和元组的使用方法和区别详解
2020/12/30 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
2018/03/15 Python
详解安装mitmproxy以及遇到的坑和简单用法
2019/01/21 Python
Python decimal模块使用方法详解
2020/06/08 Python
欧舒丹俄罗斯官方网站:L’OCCITANE俄罗斯
2019/11/22 全球购物
2014年工商所工作总结
2014/12/09 职场文书
大学运动会加油稿
2015/07/22 职场文书
2016年综治宣传月活动宣传标语口号
2016/03/16 职场文书
宪法宣传标语100条
2019/10/15 职场文书
vue项目多环境配置(.env)的实现
2021/07/21 Vue.js