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 相关文章推荐
for 循环性能比较 提高for循环的效率
Mar 19 Javascript
js 控制图片大小核心讲解
Oct 09 Javascript
JavaScript实现大数的运算
Nov 24 Javascript
原生javascript实现简单的datagrid数据表格
Jan 02 Javascript
JavaScript日期时间与时间戳的转换函数分享
Jan 31 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
Jan 08 Javascript
JavaScript实现时间倒计时跳转(推荐)
Jun 28 Javascript
微信小程序实现topBar底部选择栏效果
Jul 20 Javascript
ES6的异步终极解决方案分享
Jul 11 Javascript
JS实现在线ps功能详解
Jul 31 Javascript
vue 动态组件用法示例小结
Mar 06 Javascript
详解Vue的异步更新实现原理
Dec 22 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
截获网站title标签之家内容的例子
2006/10/09 PHP
eWebEditor v3.8 商业完整版 (PHP)
2006/12/06 PHP
ajax实现无刷新分页(php)
2010/07/18 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
Javascript String对象扩展HTML编码和解码的方法
2009/06/02 Javascript
JavaScript 类似flash效果的立体图片浏览器
2010/02/08 Javascript
通过继承IHttpHandle实现JS插件的组织与管理
2010/07/13 Javascript
让人期待的2011年度最佳 jQuery 插件分享
2012/03/16 Javascript
跟我学Nodejs(三)--- Node.js模块
2014/05/25 NodeJs
JavaScript中的apply和call函数详解
2014/07/20 Javascript
Javascript常用小技巧汇总
2015/06/24 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
2016/11/10 Javascript
javascript帧动画(实例讲解)
2017/09/02 Javascript
js封装成插件的步骤方法
2017/09/11 Javascript
JavaScript实现的拼图算法分析
2019/02/13 Javascript
JS实现公告上线滚动效果
2021/01/10 Javascript
[06:59]DOTA2-DPC中国联赛3月7日Recap集锦
2021/03/11 DOTA
基于python socketserver框架全面解析
2017/09/21 Python
python 利用栈和队列模拟递归的过程
2018/05/29 Python
python 统计数组中元素出现次数并进行排序的实例
2018/07/02 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
Python 3.8新特征之asyncio REPL
2019/05/28 Python
H&M旗下高端女装品牌:& Other Stories
2018/05/07 全球购物
马德里运动鞋商店:Nigra Mercato
2020/02/16 全球购物
PHP高级工程师面试问题推荐
2013/01/18 面试题
Prototype如何更新局部页面
2013/03/03 面试题
办理居住证介绍信
2014/01/15 职场文书
机关财务管理制度
2014/01/17 职场文书
聚美优品恶搞广告词
2014/03/14 职场文书
交通安全寄语大全
2014/04/08 职场文书
森林防火标语
2014/06/23 职场文书
材料采购员岗位职责
2015/04/03 职场文书
Python 中random 库的详细使用
2021/06/03 Python
MySQL索引是啥?不懂就问
2021/07/21 MySQL