var app5 = new Vue({ el: '#app-5', data: {message: 'Hello Vue.js!'}, methods: { reverseMessage: function () { this.message = this.message.split('').reverse().join('') } } })
就指向Vue的实例
能分下行么
你可以在console打印一下看看,是vm实例。
Methods中的方法中的this会被vue自己绑定到当前vm实例上。
直接看源码吧
https://github.com/vuejs/vue/...
function initMethods (vm: Component) { const methods = vm.$options.methods if (methods) { for (const key in methods) { vm[key] = methods[key] == null ? noop : bind(methods[key], vm) if (process.env.NODE_ENV !== 'production' && methods[key] == null) { warn( `method "${key}" has an undefined value in the component definition. ` + `Did you reference the function correctly?`, vm ) } } } }