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 相关文章推荐
jQuery操作select的实例代码
Jun 14 Javascript
Raphael带文本标签可拖动的图形实现代码
Feb 20 Javascript
jQuery过滤选择器用法示例
Sep 12 Javascript
JavaScript初学者必看“new”
Jun 12 Javascript
js封装成插件_Canvas统计图插件编写实例
Sep 12 Javascript
Vuex提升学习篇
Jan 11 Javascript
详解Vue.js中.native修饰符
Apr 24 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
Jul 19 Javascript
js动态设置select下拉菜单的默认选中项实例
Aug 21 Javascript
vue中如何实现后台管理系统的权限控制的方法示例
Sep 19 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
May 14 Javascript
React + Threejs + Swiper 实现全景图效果的完整代码
Jun 28 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
输出控制类
2006/10/09 PHP
彻底删除thinkphp3.1案例blog标签的方法
2014/12/05 PHP
smarty模板引擎中自定义函数的方法
2015/01/22 PHP
php使用Jpgraph绘制饼状图的方法
2015/06/10 PHP
php获取给定日期相差天数的方法分析
2017/02/20 PHP
Javascript 验证上传图片大小[客户端]
2009/08/01 Javascript
扩展JS Date对象时间格式化功能的小例子
2013/12/02 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
2015/02/28 Javascript
jQuery实现平滑滚动页面到指定锚点链接的方法
2015/07/15 Javascript
在Ubuntu系统上安装Node.JS的教程
2015/10/15 Javascript
浅谈使用MVC模式进行JavaScript程序开发
2015/11/10 Javascript
JS事件添加和移出的兼容写法示例
2016/06/20 Javascript
JS使用正则截取两个字符串之间的字符串实现方法详解
2017/01/06 Javascript
JS中正则表达式要注意lastIndex属性
2017/08/08 Javascript
Bootstrap 模态框(Modal)带参数传值实例
2017/08/20 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
解决百度Echarts图表坐标轴越界的方法
2018/10/17 Javascript
JavaScript前端页面搜索功能案例【基于jQuery】
2019/07/10 jQuery
Vue 使用计时器实现跑马灯效果的实例代码
2019/07/11 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
Django的数据模型访问多对多键值的方法
2015/07/21 Python
python使用PyCharm进行远程开发和调试
2017/11/02 Python
TensorFlow实现卷积神经网络CNN
2018/03/09 Python
PyQt5实现无边框窗口的标题拖动和窗口缩放
2018/04/19 Python
python如何实现视频转代码视频
2019/06/17 Python
Python使用微信接入图灵机器人过程解析
2019/11/04 Python
Tensorflow不支持AVX2指令集的解决方法
2020/02/03 Python
详解python中的lambda与sorted函数
2020/09/04 Python
45个非常奇妙的CSS3 特性应用示例
2012/01/01 HTML / CSS
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
2012/12/10 HTML / CSS
Giuseppe Zanotti美国官方网站:将鞋履视为高级时装般精心制作
2018/02/06 全球购物
环卫工人先进事迹材料
2014/06/02 职场文书
2014年学生会生活部工作总结
2014/11/07 职场文书
2016中考冲刺决心书
2015/09/22 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis
Java实现字符串转为驼峰格式的方法详解
2022/07/07 Java/Android