2017-11-03T04:27:48Z||2017-11-03T04:27:48Z


这实际上是关于JavaScript,比如使用Vue的watch,不同的代码风格可能会造成不同结果。下面这种是正确的,这种实际上是在使用ES6的Object literal:

watch: {
    prop1() {
        this.$refs.title.focus();
    },
}

这种也是正确的,这个同上面的效果一样,这种可以认为是ES5的写法:

watch: {
    prop1: function() {
        this.$refs.title.focus();
    },
}

这种就会造成this为空(undefined),因为在箭头函数内,this不会绑定到附属的对象,而会绑定到全局对象,如果没有全局对象,则是undefined

watch: {
    prop1: () => {
        this.$refs.title.focus();
    },
}