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 相关文章推荐
IE innerHTML,outerHTML所引起的问题
Jun 04 Javascript
使用jQuery获取data-的自定义属性
Nov 10 Javascript
js密码强度检测
Jan 07 Javascript
JavaScript实现搜索框的自动完成功能(一)
Feb 25 Javascript
javaScript如何跳出多重循环break、continue
Sep 01 Javascript
js实现加载更多功能实例
Oct 27 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
Jul 19 Javascript
js 原生判断内容区域是否滚动到底部的实例代码
Nov 15 Javascript
微信小程序获取手机网络状态的方法【附源码下载】
Dec 08 Javascript
JS实现的缓冲运动效果示例
Apr 30 Javascript
ng-events类似ionic中Events的angular全局事件
Sep 05 Javascript
详解Javascript实践中的命令模式
May 05 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
php在项目中寻找代码的坏味道(综艺命名)
2012/07/19 PHP
PHP static局部静态变量和全局静态变量总结
2014/03/02 PHP
5款适合PHP使用的HTML编辑器推荐
2015/07/03 PHP
PHP实现适用于文件内容操作的分页类
2016/06/15 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
2016/07/07 PHP
PHP date_default_timezone_set()设置时区操作实例分析
2020/05/16 PHP
音乐播放用的的几个函数
2006/09/07 Javascript
Javascript计算两个marker之间的距离(Google Map V3)
2013/04/26 Javascript
Javascript中arguments用法实例分析
2015/06/13 Javascript
vue之数据交互实例代码
2017/06/20 Javascript
深入探究AngularJs之$scope对象(作用域)
2017/07/20 Javascript
微信小程序学习笔记之函数定义、页面渲染图文详解
2019/03/28 Javascript
深入了解JavaScript 防抖和节流
2019/09/12 Javascript
Vue实现剪贴板复制功能
2019/12/31 Javascript
Python和Java进行DES加密和解密的实例
2018/01/09 Python
django 自定义过滤器的实现
2019/02/26 Python
selenium+python自动化测试环境搭建步骤
2019/06/03 Python
Python计算两个矩形重合面积代码实例
2019/09/16 Python
django框架基于queryset和双下划线的跨表查询操作详解
2019/12/11 Python
Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
2019/12/26 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
基于Python测试程序是否有错误
2020/05/16 Python
用python实现名片管理系统
2020/06/18 Python
Windows下PyCharm配置Anaconda环境(超详细教程)
2020/07/31 Python
Staples美国官方网站:办公用品一站式采购
2016/07/28 全球购物
Funko官方商店:源自美国,畅销全球搪胶收藏玩偶
2018/09/15 全球购物
财务会计自荐信范文
2014/02/21 职场文书
企业管理毕业生求职信
2014/03/11 职场文书
房地产项目建议书
2014/03/12 职场文书
服务质量承诺书
2014/03/27 职场文书
人事主管岗位职责说明书
2014/07/30 职场文书
党校毕业心得体会
2014/09/13 职场文书
2014年销售经理工作总结
2014/12/01 职场文书
乡镇党建工作总结2015
2015/05/19 职场文书
在Spring-Boot中如何使用@Value注解注入集合类
2021/08/02 Java/Android
2022漫威和DC电影上映作品
2022/04/05 欧美动漫