当尝试使用lodash作为隐式时,会出现错误“ _不是函数”
import { Component } from '@angular/core';
import * as _ from "lodash";
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
name = 'Angular';
testImplicit(){
try{
_(["a", "b", "c"]).filter(itm => itm == "b")
alert("ok")
}
catch(err){
alert("error : " + err)
}
}
testExplicit(){
_.filter(["a", "b", "c"], itm => itm == "b")
alert("ok")
}
}
您可以在此处的stackblitz上查看示例:https://stackblitz.com/edit/angular-zrxrru
答案 0 :(得分:2)
Lodash的_
不是函数,而是对象,就像错误消息所指示的一样。
您仅在代码的两个位置使用Lodash,并且其中只有一个使用_
作为函数。这行代码:
_(["a", "b", "c"]).filter(itm => itm == "b")
应为:
_.filter(["a", "b", "c"], itm => itm == "b")