arrow function的一个坑

今天在写Vue官网demo的时候,在写computed的时候,写了以下代码


var vm = new Vue({

    el: '#app',

    data: data,

    computed: {

        reversedMessage: () => {

            return this.message.split('').reverse().join('');

        }

    }

});

结果发现reversedMessage方法的时候报split on undefined错误,查了下arrow function的mdn文档, 原来arrow function是不绑定this的,所以会导致代码中的this就是Window,window中没有message,最后出现上面的错误, 改成正常的function() {} 就可以解决问题。

你可能感兴趣的:(arrow function的一个坑)