Vue2.0父子组件传递函数的教程详解


Posted in Javascript onOctober 16, 2017

Vue.js 是什么

Vue.js (读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,它不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与单文件组件和 Vue 生态系统支持的库结合使用时,Vue 也完全能够为复杂的单页应用程序提供驱动。

学习笔记:在vue2.0中,父组件调用子组件时,想要将父组件中的函数体也做传递.

1. 通过props :需要从子组件传参数到父组件时适用

// 父组件.vue

<template>
 <div>
  <ok-input :params='number' :callback='callbackNum'></ok-input>
 </div>
</template>
<script type="text/ecmascript-6">
 import okInput from '../ok-input/okinput.vue';
 export default {
  props: {},
  data() {
   return {
    number: {},
    callbackNum: function (x) {
     console.log(x);
    }
   };
  },
  methods: {
  },
  components: {
   'ok-input': okInput
  }
 };
</script>

// 子组件.vue

<template>
 <div>
   <input v-model='numVal' @change='handleFun'></input>
 </div>
</template>
<script type="text/ecmascript-6">
 import {Input, Select, Option, Button} from 'element-ui';
 import 'element-ui/lib/theme-default/index.css';
 export default {
  props: {
   params: {
    type: Object,
    default: {
     type: ''
    }
   },
   callback: {}
  },
  data() {
   return {
    x: 'hah',  
    numVal: ''
   };
  },
  methods: {
   handleFun(val) {
     this.callback(val); // 将参数传回父组件中的回调函数
   }
  },
  components: {
   'el-input': Input,
  }
 };
</script>

2.通过$emit: 只需获得当前操作对象时适用

// 父组件.vue
<template>
 <div>
  <ok-input :params='inputs' @change='handleAge'></ok-input>
 </div>
</template>
<script type="text/ecmascript-6">
 import okInput from '../ok-input/okinput.vue';
 export default {
  props: {},
  data() {
   return {
    number: {}
   };
  },
  methods: {
   handleAge(evt) {
    console.log(evt.target.value); // 接收从子组件传过来的当前对象
   }
  },
  components: {
   'ok-input': okInput
  }
 };
</script>

// 子组件.vue

<template>
 <div>
   <input v-model='numVal' @blur='handleChange'></input>
 </div>
</template>
<script type="text/ecmascript-6">
 import {Input, Select, Option, Button} from 'element-ui';
 import 'element-ui/lib/theme-default/index.css';
 export default {
  props: {
   params: {
    type: Object,
    default: {
     type: ''
    }
   },
   callback: {}
  },
  data() {
   return {
    x: 'hah',  
    numVal: ''
   };
  },
  methods: {
   handleChange(evt) {
    this.$emit('change', evt); // 将当前对象 evt 传递到父组件
   },
  },
  components: {
   'el-input': Input,
  }
 };
</script>

总结

以上所述是小编给大家介绍的Vue2.0父子组件传递函数的教程详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
用JavaScript 处理 URL 的两个函数代码
Aug 13 Javascript
JavaScript 获取用户客户端操作系统版本
Aug 25 Javascript
基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)
Jul 31 Javascript
Javascript和Java获取各种form表单信息的简单实例
Feb 14 Javascript
基于jQuery实现左侧菜单栏可折叠功能
Dec 27 Javascript
H5基于iScroll实现下拉刷新和上拉加载更多
Jul 18 Javascript
JS实现移动端判断上拉和下滑功能
Aug 07 Javascript
javaScript中的空值和假值
Dec 18 Javascript
react组件从搭建脚手架到在npm发布的步骤实现
Jan 09 Javascript
vue实现Excel文件的上传与下载功能的两种方式
Jun 28 Javascript
解决vant-UI库修改样式无效的问题
Nov 03 Javascript
ES6 十大特性简介
Dec 09 Javascript
使用clipboard.js实现复制功能的示例代码
Oct 16 #Javascript
requireJS模块化实现返回顶部功能的方法详解
Oct 16 #Javascript
JavaScript简单实现合并两个Json对象的方法示例
Oct 16 #Javascript
seajs实现强制刷新本地缓存的方法分析
Oct 16 #Javascript
基于ajax和jsonp的原生封装(实例)
Oct 16 #Javascript
AngularJS实现注册表单验证功能
Oct 16 #Javascript
原生js的ajax和解决跨域的jsonp(实例讲解)
Oct 16 #Javascript
You might like
在PHP中养成7个面向对象的好习惯
2010/01/28 PHP
使用PHP实现Mysql读写分离
2013/06/28 PHP
php实现获取及设置用户访问页面语言类
2014/09/24 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
理解JavaScript中的事件
2006/09/23 Javascript
微信支付 JS API支付接口详解
2016/07/11 Javascript
js 获取元素所有兄弟节点的实现方法
2016/09/06 Javascript
探究Vue.js 2.0新增的虚拟DOM
2016/10/20 Javascript
js以及jquery实现手风琴效果
2020/04/17 Javascript
jquery平滑滚动到顶部插件使用详解
2017/05/08 jQuery
微信小程序分页加载的实例代码
2017/07/11 Javascript
ionic2屏幕适配实现适配手机、平板等设备的示例代码
2017/08/11 Javascript
JS实现浏览上传文件的代码
2017/08/23 Javascript
JavaScript requestAnimationFrame动画详解
2017/09/14 Javascript
Angular.JS读取数据库数据调用完整实例
2019/07/02 Javascript
React Native 混合开发多入口加载方式详解
2019/09/23 Javascript
[53:10]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs VG 第一场
2018/04/11 DOTA
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
2018/05/16 Python
Python 爬虫之Beautiful Soup模块使用指南
2018/07/05 Python
python  Django中的apps.py的目的是什么
2018/10/15 Python
解决Python中list里的中文输出到html模板里的问题
2018/12/17 Python
详解如何减少python内存的消耗
2019/08/09 Python
Python selenium自动化测试模型图解
2020/04/15 Python
Django form表单与请求的生命周期步骤详解
2020/06/07 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
2021/01/27 Python
鞋子女王塔玛拉·梅隆同名奢侈品牌:Tamara Mellon
2017/11/22 全球购物
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
德国汽车零件和汽车配件网上商店:kfzteile24
2018/11/14 全球购物
高分子材料与工程专业推荐信
2013/12/01 职场文书
奥林匹克的口号
2014/06/13 职场文书
学校百日安全生产活动总结
2014/07/05 职场文书
党员个人自我剖析材料
2014/10/08 职场文书
质量保证书格式
2015/02/27 职场文书
太空授课观后感
2015/06/17 职场文书
小学英语听课心得体会
2016/01/14 职场文书
标会主持词应该怎么写?
2019/08/15 职场文书