围绕箭头体的意外的块语句

时间:2017-09-19 19:47:37

标签: javascript ecmascript-6 vuejs2 eslint

这可能是微不足道的,但是我花了不少时间试图找出为什么我得到这个"围绕箭头身体的#nex;意外的阻止声明"

下面代码的错误
computed: {
  filteredItems() {
    return this.items.filter((item) => {
      return (item.type.toLowerCase().indexOf(this.search.toLowerCase()) > -1);
    });
  },
},

2 个答案:

答案 0 :(得分:1)

这基于您的ESLint配置。因此,由于箭头函数会隐式返回,因此您不需要代码的return语句。

箭头功能后面的开括号会立即显示一个新块,这个块应该超过一个句子但在你自己的情况下不是这样。

// Fix for your code

computed: {
  filteredItems() {
   return this.items.filter((item) => 
   (item.type.toLowerCase().indexOf(this.search.toLowerCase()) > -1));
  }
},

答案 1 :(得分:0)

如果在箭头功能中,您所做的只是返回一些内容,那么您可以执行以下操作:

const someFunction = item => item.someReturnValue;

因此,在您的情况下,它要求您执行以下操作:

return this.items.filter((item) => (item.type.toLowerCase().indexOf(this.search.toLowerCase()) > -1);

正如您在第一个示例中所看到的,如果只需要一个参数,您也可能会丢失围绕参数的括号。

如果您想查看更多示例,可以查看MDN Arrow Functions page.