vue组件内函数相互调用问题

vue在同一个组件内;
methods中的一个方法调用methods中的另外一个方法;
可以直接这样调用:

functionA() {
    this.$options.methods.functionB();
}

这样是没有考虑this作用域的问题的情况,如果你调用的functionB()函数不包含对vue事例中中对data数据的修改和调用(准确说没有调用vue的实例对象的东西),这样调用无可厚非的,比如:

functionB() {
    console.log('2b');
}

但是如果有用到this. ,控制台就会报某个属性找不到的错误,这是因为functionB中的this实际指向的是调用它的functionA,我们只需要对调用方法绑定作用域就可解决,像这样:

this.$options.methods.functionB.bind(this)();


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值