javascript - ES6 箭头函数

标签 javascript meteor ecmascript-6

<分区>

我对理解 ES6 箭头函数语法有疑问。为什么此代码不起作用:

Meteor.publish('parties', (options, searchString) => {
...
}) 

但是这个有效:

Meteor.publish('parties', function (options, searchString) {
...
}) 

最佳答案

示例一和示例二之间的主要区别是示例一使用调用范围,而示例二使用 meteor 范围。如果我不得不猜测,那将是它不起作用,因为您正在使用 this 并期望不同的范围。这是一个演示此功能的快速示例...

(function () {
    var Example = (function () {
        function Example() {
            setTimeout(function() {
                console.log(this); //this === window
            }, 0);

            setTimeout(() => {
                console.log(this); //this === test
            }, 0);
        }        
        return Example;
    }());

    var test = new Example();
}());

您可以阅读有关详情 here

关于javascript - ES6 箭头函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34359836/

相关文章:

javascript - Laravel 和 Vue,vue-router 链接不工作

javascript - ES6箭头函数触发 "' super'outside of function or class"错误

javascript - 旋转的 X 轴标签未显示

javascript - 从 TextIput 获取值

javascript - 匹配字符串中的独占搜索组

javascript - 当函数传递给 child 时, react onClick 事件不会触发

javascript - 为什么人们在 render() 中从 React 中的状态属性定义变量?

javascript - Meteor 中的简单文件上传

javascript - 模板内的条件元素?

jquery - meteor JS : Setting reactive vars in jQuery function blocks