vuejs methods中的方法互相调用时变量的作用域是

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vuejs methods中的方法互相调用时变量的作用域是相关的知识,希望对你有一定的参考价值。

methods中的function中的this指向vue实例,其他的没什么这种调用方式是直接访问test2函数,没有任何的this绑定,所以肯定访问不到 this$optionsmethodstest2(); 而直接调用thistest2(),内部肯定做了this绑定的,例如 this$optionsmethodsvuejs methods中的方法互相调用时变量的作用域是 参考技术A methods中的function中的this指向vue实例,其他的没什么这种调用方式是直接访问test2函数,没有任何的this绑定,所以肯定访问不到

this.$options.methods.test2();

而直接调用this.test2(),内部肯定做了this绑定的,例如

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

更新:Vue源码中的处理

/**
* Setup instance methods. Methods must be bound to the
* instance since they might be passed down as a prop to
* child components.
*/
Vue.prototype._initMethods = function ()
var methods = this.$options.methods
if (methods)
for (var key in methods)
this[key] = bind(methods[key], this)




function bind (fn, ctx)
return function (a)
var l = arguments.length
return l
? l > 1
? fn.apply(ctx, arguments)
: fn.call(ctx, a)
: fn.call(ctx)

以上是关于vuejs methods中的方法互相调用时变量的作用域是的主要内容,如果未能解决你的问题,请参考以下文章

vue.js methods中的方法互相调用时变量的作用域是怎样的

vue.js methods中的方法互相调用时变量的作用域是怎样的

js文件调用vue里methods的方法

在 vueJs 中使用计算属性中的方法

vuejs中通过变量动态调用方法

created() 或计算属性中的 vuejs 初始化数据函数(方法)