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 相关文章推荐
pjblog中的UBBCode.js
Apr 25 Javascript
Css3制作变形与动画效果
Jul 24 Javascript
jquery实现两边飘浮可关闭的对联广告
Nov 27 Javascript
jQuery实现监控页面所有ajax请求的方法
Dec 10 Javascript
AngularJS基础 ng-click 指令示例代码
Aug 01 Javascript
浅析Javascript ES6中的原生Promise
Aug 25 Javascript
BootStrap 超链接变按钮的实现方法
Sep 25 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
Feb 28 Javascript
详解require.js配置路径的用法和css的引入
Sep 06 Javascript
最后说说Vue2 SSR 的 Cookies 问题
May 25 Javascript
详解jquery和vue对比
Apr 16 jQuery
JS数组方法concat()用法实例分析
Jan 18 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删除特定数组内容并且重建数组索引的方法.
2011/03/25 PHP
php打印输出棋盘的实现方法
2014/12/23 PHP
php简单实现查询数据库返回json数据
2015/04/16 PHP
jQuery 类twitter的文本字数限制带提示效果插件
2010/04/16 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
2014/01/20 Javascript
javascript实现2048游戏示例
2014/05/04 Javascript
详解JavaScript逻辑Not运算符
2015/12/04 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
Angular ng-repeat 对象和数组遍历实例
2016/09/14 Javascript
浅谈javascript中执行环境(作用域)与作用域链
2016/12/08 Javascript
JS闭包用法实例分析
2017/03/27 Javascript
nodejs实现解析xml字符串为对象的方法示例
2018/03/14 NodeJs
JS实现随机生成10个手机号的方法示例
2018/12/07 Javascript
Vue服务端渲染实践之Web应用首屏耗时最优化方案
2019/03/22 Javascript
js常用正则表达式集锦
2019/05/17 Javascript
vue+Element实现搜索关键字高亮功能
2019/05/28 Javascript
Python素数检测实例分析
2015/06/15 Python
在Python的Django框架中编写编译函数
2015/07/20 Python
举例讲解Linux系统下Python调用系统Shell的方法
2015/11/07 Python
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
2017/01/20 Python
python解析基于xml格式的日志文件
2017/02/25 Python
django写用户登录判定并跳转制定页面的实例
2019/08/21 Python
matlab灰度图像调整及imadjust函数的用法详解
2020/02/27 Python
Python Pivot table透视表使用方法解析
2020/09/11 Python
W3C公布最新的HTML5标准草案
2008/10/17 HTML / CSS
SQL面试题
2013/12/09 面试题
J2EE相关知识面试题
2013/08/26 面试题
董事长秘书岗位职责
2013/11/29 职场文书
工厂保洁员岗位职责
2013/12/04 职场文书
清洁工表扬信
2014/01/08 职场文书
《四季》教学反思
2014/04/08 职场文书
优秀实习生主要事迹
2014/05/29 职场文书
中学生的1000字检讨书
2014/10/11 职场文书
法制教育主题班会
2015/08/13 职场文书
Python TypeError: ‘float‘ object is not subscriptable错误解决
2022/12/24 Python