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 相关文章推荐
判断脚本加载是否完成的方法
May 26 Javascript
13个绚丽的Jquery 界面设计网站推荐
Sep 28 Javascript
基于Jquery制作的幻灯片图集效果打包下载
Feb 12 Javascript
onmouseover和onmouseout的一些问题思考
Aug 14 Javascript
利用jQuery实现CheckBox全选/全不选/反选的简单代码
May 31 Javascript
JavaScript制作颜色反转小游戏
Sep 25 Javascript
Vue 过渡(动画)transition组件案例详解
Jan 22 Javascript
Vue自定义指令封装节流函数的方法示例
Jul 09 Javascript
jQuery使用each遍历循环的方法
Sep 19 jQuery
在vue+element ui框架里实现lodash的debounce防抖
Nov 13 Javascript
javascript实现视频弹幕效果(两个版本)
Nov 28 Javascript
40行代码把Vue3的响应式集成进React做状态管理
May 20 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 Undefined index和Undefined variable的解决方法
2008/03/27 PHP
ecshop添加菜单及权限分配问题
2017/11/21 PHP
漂亮的thinkphp 跳转页封装示例
2019/10/16 PHP
js版本A*寻路算法
2006/12/22 Javascript
js继承 Base类的源码解析
2008/12/30 Javascript
网页源代码保护(禁止右键、复制、另存为、查看源文件)
2012/05/23 Javascript
Jquery网页出现的乱码问题的三种解决方法
2013/06/30 Javascript
JavaScript将数字转换成大写中文的方法
2015/03/23 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
2015/03/24 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
2015/04/03 Javascript
实现前后端数据交互方法汇总
2015/04/07 Javascript
浅谈JavaScript异常处理语句
2015/06/26 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
AngularJS基础教程之简单介绍
2015/09/27 Javascript
AngularJS控制器继承自另一控制器
2016/05/09 Javascript
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
AngularJs $parse、$eval和$observe、$watch详解
2016/09/21 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
2017/06/01 jQuery
select获取下拉框的值 下拉框默认选中方法
2018/02/28 Javascript
Angular动画实现的2种方式以及添加购物车动画实例代码
2018/08/09 Javascript
JavaScript实现连连看连线算法
2019/01/05 Javascript
OpenLayer3自定义测量控件MeasureTool
2020/09/28 Javascript
Python判断文件和字符串编码类型的实例
2017/12/21 Python
django 2.0更新的10条注意事项总结
2018/01/05 Python
Python爬虫包BeautifulSoup异常处理(二)
2018/06/17 Python
python在html中插入简单的代码并加上时间戳的方法
2018/10/16 Python
使用Python实现从各个子文件夹中复制指定文件的方法
2018/10/25 Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
2019/10/24 Python
python搜索算法原理及实例讲解
2020/11/18 Python
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
世界上最好的帽子:Tilley
2016/11/27 全球购物
泰国王权免税店官方网站:KingPower
2019/03/11 全球购物
英国最大的割草机购买网站:Just Lawnmowers
2019/11/02 全球购物
安全守法证明
2015/06/23 职场文书
提档介绍信范文
2015/10/22 职场文书