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 相关文章推荐
深入理解JSON数据源格式
Jan 10 Javascript
javascript类型转换使用方法
Feb 08 Javascript
jQuery 动态云标签插件
Nov 11 Javascript
简介JavaScript中的setTime()方法的使用
Jun 11 Javascript
JS使用eval()动态创建变量的方法
Jun 03 Javascript
JS限制条件补全问题实例分析
Dec 16 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
Dec 19 Javascript
js实现带进度条提示的多视频上传功能
Dec 13 Javascript
JavaScript数组去重的多种方法(四种)
Sep 19 Javascript
小程序实现简单语音聊天的示例代码
Jul 24 Javascript
如何利用vue实现波谱拟合详解
Nov 05 Javascript
vue 在服务器端直接修改请求的接口地址
Dec 19 Vue.js
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
php从给定url获取文件扩展名的方法
2015/03/14 PHP
php自定义函数实现二维数组排序功能
2016/07/20 PHP
获取焦点时,利用js定时器设定时间执行动作
2010/04/02 Javascript
基于jQuery的合并表格中相同文本的相邻单元格的代码
2011/04/06 Javascript
jQuery筛选器children()案例详解(图文)
2013/02/17 Javascript
Jquery下EasyUI组件中的DataGrid结果集清空方法
2014/01/06 Javascript
浅析javascript的间隔调用和延时调用
2014/11/12 Javascript
JavaScript移除数组内重复元素的方法
2015/03/18 Javascript
Angularjs中UI Router的使用方法
2016/05/14 Javascript
jQuery简单倒计时效果完整示例
2016/09/20 Javascript
jQuery中ajax错误调试分析
2016/12/01 Javascript
php register_shutdown_function函数详解
2017/07/23 Javascript
jqueryUI tab标签页代码分享
2017/10/09 jQuery
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
vue.js高德地图实现热点图代码实例
2019/04/18 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
2019/07/25 Javascript
[00:34]TI7不朽珍藏III——地穴编织者不朽展示
2017/07/15 DOTA
[37:29]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.19
2020/11/19 DOTA
python结合API实现即时天气信息
2016/01/19 Python
Python面向对象编程中关于类和方法的学习笔记
2016/06/30 Python
python利用urllib和urllib2访问http的GET/POST详解
2017/09/27 Python
python实现随机漫步算法
2018/08/27 Python
python try except 捕获所有异常的实例
2018/10/18 Python
python 设置输出图像的像素大小方法
2019/07/04 Python
基于Django框架的权限组件rbac实例讲解
2019/08/31 Python
python利用dlib获取人脸的68个landmark
2019/11/27 Python
Python二维数组实现求出3*3矩阵对角线元素的和示例
2019/11/29 Python
kafka-python 获取topic lag值方式
2019/12/23 Python
Python如何使用正则表达式爬取京东商品信息
2020/06/01 Python
canvas绘制树形结构可视图形的实现
2020/04/03 HTML / CSS
迪拜航空官方网站:flydubai
2017/04/20 全球购物
Crabtree & Evelyn英国官网:瑰珀翠护手霜、香水、沐浴和身体护理
2018/04/26 全球购物
简历自我评价:教师师德表现自我评价
2019/04/24 职场文书
导游词之湖州-太湖
2019/10/11 职场文书
面试被问select......for update会锁表还是锁行
2021/11/11 MySQL
MySQL中order by的使用详情
2021/11/17 MySQL