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 globalStorage类代码
Jun 04 Javascript
js捕获鼠标滚轮事件代码
Dec 16 Javascript
js 判断js函数、变量是否存在的简单示例代码
Mar 04 Javascript
javascript操作referer详细解析
Mar 10 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
Dec 27 Javascript
JavaScript mixin实现多继承的方法详解
Mar 30 Javascript
Vuex和前端缓存的整合策略详解
May 09 Javascript
解析Vue 2.5的Diff算法
Nov 28 Javascript
vue自定义指令的创建和使用方法实例分析
Dec 04 Javascript
JavaScript 监听组合按键思路及代码实现
Jul 28 Javascript
如何在现代JavaScript中编写异步任务
Jan 31 Javascript
正则表达式基础与常用验证表达式
Jun 16 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
纯真IP数据库的应用 IP地址转化成十进制
2009/06/14 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
2014/11/18 PHP
PHP CURL 多线程操作代码实例
2015/05/13 PHP
PHP上传图片时判断上传文件是否为可用图片的方法
2016/10/20 PHP
laravel与thinkphp之间的区别与优缺点
2021/03/02 PHP
JSON 客户端和服务器端的格式转换
2009/08/27 Javascript
对frameset、frame、iframe的js操作示例代码
2013/08/16 Javascript
jquery cookie的用法总结
2013/11/18 Javascript
jQuery插件ajaxFileUpload实现异步上传文件效果
2015/04/14 Javascript
JavaScript中for循环的使用详解
2015/06/03 Javascript
Knockoutjs 学习系列(一)ko初体验
2016/06/07 Javascript
jQuery复制节点用法示例(clone方法)
2016/09/08 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
2016/12/17 Javascript
jQuery基于事件控制实现点击显示内容下拉效果
2017/03/07 Javascript
js自定义弹框插件的封装
2020/08/24 Javascript
详解vue.js之绑定class和style的示例代码
2017/08/24 Javascript
JavaScript时间戳与时间日期间相互转换
2017/12/11 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
2018/01/31 Javascript
Vue.use源码学习小结
2018/06/20 Javascript
在vue中使用vue-echarts-v3的实例代码
2018/09/13 Javascript
基于jQuery实现挂号平台首页源码
2020/01/06 jQuery
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
python中常用的各种数据库操作模块和连接实例
2014/05/29 Python
Python中pandas模块DataFrame创建方法示例
2018/06/20 Python
Python docx库用法示例分析
2019/02/16 Python
Tensorflow实现部分参数梯度更新操作
2020/01/23 Python
利用Python脚本实现自动刷网课
2020/02/03 Python
如何用Python徒手写线性回归
2021/01/25 Python
css3实现3D文本悬停改变效果的示例代码
2019/01/16 HTML / CSS
马来西亚与新加坡长途巴士售票网站:BusOnlineTicket.com
2018/11/05 全球购物
奥地利时尚、美容、玩具和家居之家:Kastner & Öhler
2020/04/26 全球购物
自主招生自荐信范文
2013/12/04 职场文书
合作协议书范本
2014/04/17 职场文书
党员四风问题对照检查材料
2014/09/27 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书
《攀登者》:“海拔8000米以上,你不能指望任何人”
2019/11/25 职场文书