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 相关文章推荐
jqPlot jquery的页面图表绘制工具
Jul 25 Javascript
javascript之通用简单的table选项卡实现(二)
May 09 Javascript
jQuery弹出(alert)select选择的值
Apr 21 Javascript
使用jQuery避免鼠标双击的解决方案
Aug 21 Javascript
java与javascript之间json格式数据互转介绍
Oct 29 Javascript
jquery自定义函数的多种方法
Jan 09 Javascript
JS、CSS以及img对DOMContentLoaded事件的影响
Aug 12 Javascript
jQuery validate插件submitHandler提交导致死循环解决方法
Jan 21 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
Aug 08 jQuery
vue中实现图片和文件上传的示例代码
Mar 16 Javascript
Vue中的作用域CSS和CSS模块的区别
Oct 09 Javascript
微信小程序 扭蛋抽奖机css3动画实现详解
Jul 19 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
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
2011/03/19 PHP
利用PHP如何统计Nginx日志的User Agent数据
2019/03/06 PHP
innerText和innerHTML 一些问题分析
2009/05/18 Javascript
Javascript类库的顶层对象名用户体验分析
2010/10/24 Javascript
《JavaScript高级程序设计》阅读笔记(二) ECMAScript中的原始类型
2012/02/27 Javascript
火狐textarea输入法的bug的触发及解决
2013/07/24 Javascript
利用函数的惰性载入提高javascript代码执行效率
2014/05/05 Javascript
javascript正则表达式基础知识入门
2015/04/20 Javascript
在JavaScript应用中实现延迟加载的方法
2015/06/25 Javascript
利用AngularJs实现京东首页轮播图效果
2016/09/08 Javascript
bootstrap基础知识学习笔记
2016/11/02 Javascript
jquery easyui validatebox remote的使用详解
2016/11/09 Javascript
利用Bootstrap实现表格复选框checkbox全选
2016/12/21 Javascript
基本DOM节点操作
2017/01/17 Javascript
关于vue-router路径计算问题
2017/05/10 Javascript
ES6 javascript中class类的get与set用法实例分析
2017/10/30 Javascript
详解vue axios用post提交的数据格式
2018/08/07 Javascript
微信小程序的线程架构【推荐】
2019/05/14 Javascript
在vue中实现禁止屏幕滚动,禁止屏幕滑动
2020/07/22 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
在Angular项目使用socket.io实现通信的方法
2021/01/05 Javascript
python获取本地计算机名字的方法
2015/04/29 Python
Python搜索引擎实现原理和方法
2017/11/27 Python
python实现BackPropagation算法
2017/12/14 Python
Python设计模式之原型模式实例详解
2019/01/18 Python
.dcm格式文件软件读取及python处理详解
2020/01/16 Python
浅谈Python的方法解析顺序(MRO)
2020/03/05 Python
python给视频添加背景音乐并改变音量的具体方法
2020/07/19 Python
Saks Fifth Avenue澳洲/亚太地区:萨克斯第五大道精品百货店
2019/06/09 全球购物
C#如何判断当前用户是否输入某个域
2015/12/07 面试题
高中生物教学反思
2014/02/05 职场文书
大学生优秀班干部事迹材料
2014/05/26 职场文书
村长党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
导游词之太行山青龙峡
2020/01/14 职场文书
MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用详解
2021/06/26 MySQL
怎么禁用Windows 11快照布局? win11不使用快照布局的技巧
2021/11/21 数码科技