本文介绍了关键字功能在以下codeS必要的:的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的骨干查看:

module.exports = Backbone.View.extend({
  tagName: 'div',
  events: {
    'click #saveReportBtn': '_handleSaveReport',
    'click #saveQuery': '_handleSaveQuery',
    'keydown #queryToolbar': '_enter',
  },
  _enter( event ) {
    console.log('event target:', + event.target.name + ', ' + event.currentTarget.name); // eslint-disable-line no-console
  },
...

有人建议使用:

  _enter: function ( event ) {
    console.log('event target:', + event.target.name + ', ' + event.currentTarget.name); // eslint-disable-line no-console
  },

但它似乎没有工作function关键字,我的eslint抱怨:

But it seems that it works without function keyword, and my eslint complains:

src/myfile.js
  100:11  warning  Missing function expression name  func-names

✖ 1 problem (0 errors, 1 warning)

遗漏什么吗?
谢谢

Anything missing?Thanks

推荐答案

您正在使用的简写:

_enter( event ) {
    console.log('event target:', + event.target.name + ', ' + event.currentTarget.name); // eslint-disable-line no-console
  }

时ES2015(ES6)的简写这就是为什么eslint不抱怨。见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Method_definitions

具体做法是:

注:简写语法使用名为函数而不是匿名函数(如...富:功能(){} ...)。

尝试添加一个函数名称到你的任务。 ()

Try adding a function name to your assignment. (http://eslint.org/docs/rules/func-names)

 _enter: function _enter( event ) {
    console.log('event target:', + event.target.name + ', ' + event.currentTarget.name); // eslint-disable-line no-console
  }

有命名的函数,而不是匿名函数左右浮动真正与调试过程中提供帮助和更明确的堆栈跟踪

Having named functions, rather than anonymous functions floating around really help with the debugging process and more explicit stack traces

这篇关于关键字功能在以下codeS必要的:的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-02 08:22