博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue 父组件通过props向子组件传递方法的方式
阅读量:6168 次
发布时间:2019-06-21

本文共 1317 字,大约阅读时间需要 4 分钟。

vue 父组件通过props向子组件传递方法的方式

vue 组件中的 this

vue 中 data/computed/methods 中 this的上下文是vue实例,需注意。例如:

注意,不应该对 data 属性使用箭头函数 (例如data: () => { return { a: this.myProp }})。理由是箭头函数绑定了父级作用域的上下文,所以 this 将不会按照期望指向 Vue 实例,this.myProp 将是 undefined

父组件通过props向子组件传递方法

父组件调用子组件,通过绑定callback属性,将方法传给子组件:

App.vue 

子组件通过props获取父组件传过来的callback方法:

SearchBar.vueexport default {    name: 'SearchBar',    data() {        return {            input: ''        }    },    methods: {        setName: function () {            var input = this.input;            if (input.trim() == '') {                alert("empty");            }            else {                Api.searchTest(this.input,this.success );            }        },        success(responseData) {            this.callback(responseData);        },    },    props: ['placeholder', 'apiName', 'moduleName', 'mutationName','callback']}

通过 data

export default {  ...  data:function() {    return {      callback:function(responseData) {        this.$store.commit('resetListData', responseData);      }    }  },  ...};

此处callback以函数对象的方式,传入子组件,子组件调用的时候,this指向子组件

通过 methods

export default {  ...  methods: {    callback(responseData) {      this.$store.commit('resetListData', responseData);    }  }};

此处callback是父组件的一个方法,个人理解,当父组件初始化时,该方法的this上下文就绑定了父组件的实例,因此当子组件调用callback 方法时,this指向父组件。

转载地址:http://cunba.baihongyu.com/

你可能感兴趣的文章
Laravel 5.2数据库--迁移migration
查看>>
ExtJs Extender controls 不错的例子
查看>>
html的基础知识
查看>>
一个菜鸟正在用SSH写一个论坛(2)
查看>>
Mybatis Sql片段的应用
查看>>
突发奇想20150126
查看>>
Nginx + CGI/FastCGI + C/Cpp
查看>>
学习笔记------jsp页面与jsp标记
查看>>
DS博客作业02--线性表
查看>>
第三届ACM山东省赛I题_Chess_STL
查看>>
jQuery each和js forEach用法比较
查看>>
前端笔记-作用域链的一些理解加记录(JS高级程序设计读书笔记1)
查看>>
最新电Call记录统计-full hash join用法
查看>>
PHP 实战之设计模式:PHP 中的设计模式
查看>>
使用 Python 创建你自己的 Shell(下)
查看>>
Linux命令行–理解Linux文件权限(转)
查看>>
[Hadoop大数据]——Hive连接JOIN用例详解
查看>>
高可用性、负载均衡的mysql集群解决方案
查看>>
互联网直播平台架构案例一
查看>>
mysql++ result
查看>>