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 相关文章推荐
Javascript中eval函数的使用方法与示例
Apr 09 Javascript
Node调试工具JSHint的安装及配置教程
May 27 Javascript
node+express+jade制作简单网站指南
Nov 26 Javascript
JavaScript中的闭包介绍
Mar 15 Javascript
jquery中键盘事件小结
Feb 24 Javascript
angularjs 中$apply,$digest,$watch详解
Oct 13 Javascript
JS鼠标滚动分页效果示例
Jul 05 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
Jan 08 Javascript
360doc网站不登录就无法复制内容的解决方法
Jan 27 Javascript
三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)
Jun 21 Javascript
js对象数组和对象的使用实例详解
Aug 27 Javascript
layui使用button按钮 点击出现弹层 弹层中加载表单的实例
Sep 04 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
Cannot modify header information错误解决方法
2008/10/08 PHP
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
2011/11/02 PHP
mysqli扩展无法在PHP7下升级问题的解决
2019/09/10 PHP
用于deeplink的js方法(判断手机是否安装app)
2014/04/02 Javascript
15款jQuery分布引导插件分享
2015/02/04 Javascript
javascript图片预加载完整实例
2015/12/10 Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
2016/10/30 Javascript
JavaScript模块化之使用requireJS按需加载
2017/04/12 Javascript
详解微信小程序Radio选中样式切换
2017/07/06 Javascript
基于JavaScript实现弹幕特效
2020/08/27 Javascript
通过jquery.cookie.js实现记住用户名、密码登录功能
2018/06/20 jQuery
vue 设置路由的登录权限的方法
2018/07/03 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
2018/08/30 Javascript
如何使用VuePress搭建一个类型element ui文档
2019/02/14 Javascript
vue 修改 data 数据问题并实时显示操作
2020/09/07 Javascript
[04:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster 选手采访
2021/03/11 DOTA
Python实现list反转实例汇总
2014/11/11 Python
Windows安装Python、pip、easy_install的方法
2017/03/05 Python
python如何获取服务器硬件信息
2017/05/11 Python
python中实现延时回调普通函数示例代码
2017/09/08 Python
python输入错误密码用户锁定实现方法
2017/11/27 Python
Selenium自动化测试工具使用方法汇总
2020/06/12 Python
解决Keyerror ''acc'' KeyError: ''val_acc''问题
2020/06/18 Python
CSS3实现10种Loading效果
2016/07/11 HTML / CSS
html5 迷宫游戏(碰撞检测)实例一
2013/07/25 HTML / CSS
激光脱毛、蓝光和护肤:Tria Beauty
2019/03/28 全球购物
Glamest意大利:女性在线奢侈品零售店
2019/04/28 全球购物
东南亚冒险旅行与活动:Adventoro
2019/10/16 全球购物
小学生自我评价范文
2014/01/25 职场文书
考察现实表现材料
2014/05/19 职场文书
明星员工获奖感言
2014/08/14 职场文书
初中同学会活动方案
2014/08/22 职场文书
镇创先争优活动总结
2014/08/28 职场文书
股东授权委托书范本
2014/09/13 职场文书
党的群众路线教育实践活动对照检查材料(个人)
2014/09/24 职场文书
玄武湖导游词
2015/02/05 职场文书