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版代码高亮
Jun 26 Javascript
点击下载链接 弹出页面实现代码
Oct 01 Javascript
你必须知道的JavaScript 变量命名规则详解
May 07 Javascript
JavaScript中的anchor()方法使用详解
Jun 08 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
Oct 17 Javascript
微信小程序 删除项目工程实现步骤
Nov 10 Javascript
js 倒计时(高效率服务器时间同步)
Sep 12 Javascript
django js 实现表格动态标序号的实例代码
Jul 12 Javascript
微信小程序实现手势滑动卡片效果
Aug 26 Javascript
VUE实现Studio管理后台之鼠标拖放改变窗口大小
Mar 04 Javascript
vue项目打包后请求地址错误/打包后跨域操作
Nov 04 Javascript
vue 基于abstract 路由模式 实现页面内嵌的示例代码
Dec 14 Vue.js
使用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(一)
2012/03/21 PHP
PHP中使用OpenSSL生成证书及加密解密
2017/02/05 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
2019/10/11 PHP
Thinkphp 3.2框架使用Redis的方法详解
2019/10/24 PHP
用JS剩余字数计算的代码
2008/07/03 Javascript
一些常用且实用的原生JavaScript函数
2010/09/08 Javascript
jquery ajax同步异步的执行最终解决方案
2013/04/26 Javascript
javascript操作excel生成报表全攻略
2014/05/04 Javascript
node.js中的console.error方法使用说明
2014/12/10 Javascript
JavaScript获得指定对象大小的方法
2015/07/01 Javascript
深入浅析JavaScript的API设计原则
2016/06/14 Javascript
微信小程序 选择器(时间,日期,地区)实例详解
2016/11/16 Javascript
JS使用正则截取两个字符串之间的字符串实现方法详解
2017/01/06 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
详解如何使用node.js的开发框架express创建一个web应用
2018/12/20 Javascript
angular使用md5,CryptoJS des加密的方法
2019/06/03 Javascript
关于微信小程序获取小程序码并接受buffer流保存为图片的方法
2019/06/07 Javascript
Vue 子组件与数据传递问题及注意事项
2019/07/11 Javascript
在vue项目中使用codemirror插件实现代码编辑器功能
2019/08/27 Javascript
微信小程序实现左滑删除效果
2020/11/18 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
python变量不能以数字打头详解
2016/07/06 Python
Django中针对基于类的视图添加csrf_exempt实例代码
2018/02/11 Python
python实现隐马尔科夫模型HMM
2018/03/25 Python
Python中实现变量赋值传递时的引用和拷贝方法
2018/04/29 Python
Python多重继承的方法解析执行顺序实例分析
2018/05/26 Python
Python 实现取矩阵的部分列,保存为一个新的矩阵方法
2018/11/14 Python
常用python爬虫库介绍与简要说明
2020/01/25 Python
Python文件时间操作步骤代码详解
2020/04/13 Python
美国存储和组织商店:The Container Store
2017/08/16 全球购物
台湾生鲜宅配:大口市集
2017/10/14 全球购物
青春寄语大全
2014/04/09 职场文书
2016教师校本研修心得体会
2016/01/08 职场文书
2017公司年会主持人开幕词
2016/03/04 职场文书
MySQL into_Mysql中replace与replace into用法案例详解
2021/09/14 MySQL
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
2022/04/09 MySQL