首先,我以前从未使用过lodash.clonedeep,但对JavaScript了如指掌。
从我的包中,json文件: “lodash.clonedeep”:“4.5.0”,
import { cloneDeep } from 'lodash.clonedeep';
editStart(): void {
this.oldData = cloneDeep(this.currentData);
this.editing = true;
}
错误:ERROR TypeError:lodash_clonedeep_1.cloneDeep不是函数
非常感谢,因为我没有选择,已阅读并尝试了很多选项。我有一个解决方法,使用几个对象,但想尽可能避免。
答案 0 :(得分:4)
您的导入声明不正确。
您应该导入完整的库:
import * as _ from 'lodash';
...
let foo = _.cloneDeep(bar);
或者只导入cloneDeep函数:
import * as cloneDeep from 'lodash/cloneDeep';
...
let foo = cloneDeep(bar);
答案 1 :(得分:0)
我在Angular 7上的经验:
在src项目中使用时:
import * as cloneDeep from "lodash/cloneDeep";
在图书馆项目中使用时:
import cloneDeep from "lodash/cloneDeep";
注意:更好地导入每个模块以减小主模块尺寸(the-correct-way-to-import-lodash-libraries-a-benchmark)。