Vue父子传递实例讲解


Posted in Javascript onFebruary 14, 2020

实现功能:

1、子组件的input输入,改变父组件信息

2、父组件对子组件1,3进行监听与控制

3、子组件1与子组件3相互关联

父子双向通信流程:

子组件的input通过事件监听->控制子组件的data中变量/向父组件$emit子事件及变量

父组件监听到$emit事件及变量,赋予父组件的变量,通过props传到子组件

<body>
<div id = "app">
 <!-- //将父组件num1的数据传给props中的pnumber1,实现父传子
 //监听子组件num1change事件,这里recdnum1函数,没明白加括号出错 -->
<cnp 
 :pnumber1 = "num1"
 :pnumber3 = "num3"
 @num1change = "recdnum1"
 @num3change="recdnum3" >
</cnp>
</div> 

<!-- //template 编写自己的模版 -->
<template id = "mytemp">
 <div>
  <h3>props:{{pnumber1}}</h3>
  <h3>child-data:{{dnumber1}}</h3>
  <h3></h3>
  <input type="text" :value="dnumber1" @input="num1input">
  <h3>props:{{pnumber3}}</h3>
  <h3>child-data:{{dnumber3}}</h3>
  <input type="text" :value="dnumber3" @input="num3input">  
 </div>
</template>

<script>
var app = new Vue({
 el:"#app",
 data(){
  return{
   //父组件数据库中的默认数值
   num1:11,
   num3:31,
  }
 },
 methods:{
  //监听事件中,将子组件传来的dnumber1传给num1,num1传给pnumber1
  recdnum1(value){
   //默认传递来的value为String,根据需要转为Int或Float
   this.num1 = parseInt(value);
   },
  recdnum3(value){
   this.num3=parseFloat(value);
   }   
 },
 components: {
  cnp:{
   template:"#mytemp",
   props: {
    pnumber1:{
     //默认props的数据格式和默认值
     type:Number,
     default:1
    },
    pnumber3:{
     type:Number,
     default:3
    }        
   },
   data(){
    return{
     //将props的数值赋予data中变量
     dnumber1:this.pnumber1,
     dnumber3:this.pnumber3
    }
   },
   methods: {
    num1input(event){
     //将input中的数值传给dnumber1
     this.dnumber1 = event.target.value;
     //向父组件发射事件num1change,并传出dnumber1数据
     this.$emit("num1change",this.dnumber1);
     //绑定pnumber3数值的关联性
     this.dnumber3=this.dnumber1*5;
     //向父组件发射pnumber3信息
     this.$emit("num3change",this.dnumber3);
    },
    num3input(event){
     this.dnumber3 = event.target.value;
     this.$emit("num3change",this.dnumber3)
    },
   }
  }
 }
});
</script>
</body>

以上就是相关的实例代码,希望三水点靠木整理的内容能够帮助到大家。

Javascript 相关文章推荐
用JS剩余字数计算的代码
Jul 03 Javascript
Jquery在IE7下无法使用 $.ajax解决方法
Nov 11 Javascript
深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
Mar 05 Javascript
jquery简单插件制作(fn.extend)完整实例
May 24 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
Nov 01 Javascript
angular ngClick阻止冒泡使用默认行为的方法
Nov 03 Javascript
js 调用百度分享功能
Feb 27 Javascript
纯JS单页面赛车游戏制作代码分享
Mar 03 Javascript
jquery使用iscorll实现上拉、下拉加载刷新
Oct 26 jQuery
详解基于Vue的支持数据双向绑定的select组件
Sep 02 Javascript
layui的面包屑或者表单不显示的解决方法
Sep 05 Javascript
详解微信小程序之提高应用速度小技巧
Jan 07 Javascript
Javascript操作select控件代码实例
Feb 14 #Javascript
微信小程序复选框实现多选一功能过程解析
Feb 14 #Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
Feb 14 #Javascript
node事件循环和process模块实例分析
Feb 14 #Javascript
vue+springboot图片上传和显示的示例代码
Feb 14 #Javascript
JavaScript简单编程实例学习
Feb 14 #Javascript
JS实现打砖块游戏
Feb 14 #Javascript
You might like
PHP5函数小全(分享)
2013/06/06 PHP
javascript 遍历验证所有文本框的值
2009/08/27 Javascript
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
javascript面向对象之this关键词用法分析
2015/01/13 Javascript
jQuery实现tab标签自动切换的方法
2015/02/28 Javascript
轻量级javascript 框架Backbone使用指南
2015/07/24 Javascript
Bootstrap实现水平排列的表单
2016/07/04 Javascript
VC调用javascript的几种方法(推荐)
2016/08/09 Javascript
JS获取中文拼音首字母并通过拼音首字母快速查找页面内对应中文内容的方法【附demo源码】
2016/08/19 Javascript
浅谈jquery中使用canvas的问题
2016/10/10 Javascript
详解堆的javascript实现方法
2016/11/29 Javascript
Vue多系统切换实现方案
2018/06/05 Javascript
vue实现前端分页完整代码
2020/06/17 Javascript
Pythont特殊语法filter,map,reduce,apply使用方法
2016/02/27 Python
python机器学习之神经网络(三)
2017/12/20 Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
2018/06/20 Python
python使用MQTT给硬件传输图片的实现方法
2019/05/05 Python
Python3常用内置方法代码实例
2019/11/18 Python
Python matplotlib修改默认字体的操作
2020/03/05 Python
Python函数递归调用实现原理实例解析
2020/08/11 Python
Python字符串及文本模式方法详解
2020/09/10 Python
ASP.NET Core中的配置详解
2021/02/05 Python
CSS3制作半透明边框(Facebox)类似渐变
2012/12/09 HTML / CSS
Aerosoles爱柔仕官网:美国舒软女鞋品牌
2017/07/17 全球购物
香港唯港荟酒店预订:Hotel ICON
2018/03/27 全球购物
优瑞自动咖啡机官网:Jura
2018/09/29 全球购物
Allen Edmonds官方网站:一家美国优质男士鞋类及配饰制造商
2019/03/12 全球购物
SOKOLOV官网:俄罗斯珠宝首饰品牌
2021/01/02 全球购物
院药学专业个人求职信
2013/09/21 职场文书
趣味运动会活动方案
2014/02/12 职场文书
杭州西湖英语导游词
2015/02/03 职场文书
党员电教片《信仰》心得体会
2016/01/15 职场文书
Pytorch GPU内存占用很高,但是利用率很低如何解决
2021/06/01 Python
springboot拦截器无法注入redisTemplate的解决方法
2021/06/27 Java/Android
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server
Mysql 文件配置解析介绍
2022/05/06 MySQL