这可能是微不足道的,但是我花了不少时间试图找出为什么我得到这个"围绕箭头身体的#nex;意外的阻止声明"
下面代码的错误computed: {
filteredItems() {
return this.items.filter((item) => {
return (item.type.toLowerCase().indexOf(this.search.toLowerCase()) > -1);
});
},
},
答案 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.