vue 方法相互调用注意事项与详解

vue在同一个组件内;

methods中的一个方法调用methods中的另外一个方法;

可以直接这样调用:this.$options.methods.test();

this.$options.methods.test();一个方法调用另外一个方法;

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

test(){console.log(123);alert(456);}
但是如果有用到this. ,控制台就会报某个属性找不到的错误,我们只需要对调用方法绑定作用域就可解决,像这样:
this.$options.methods.test.bind(this)();

有疑问欢迎留言交流

posted @ 2018-08-27 14:14  阿明先森  阅读(2788)  评论(1编辑  收藏  举报