在Angular 5中使用lodash.clonedeep时出错

Sve*_*inS 3 javascript lodash angular

首先,我以前从未使用过lodash.clonedeep,但对JavaScript的了解非常好。

从我的包中,json文件:“ lodash.clonedeep”:“ 4.5.0”,

import { cloneDeep } from 'lodash.clonedeep';

editStart(): void {
   this.oldData = cloneDeep(this.currentData);
   this.editing = true;
}
Run Code Online (Sandbox Code Playgroud)

错误:ERROR类型错误:lodash_clonedeep_1.cloneDeep不是函数

由于我没有选择权,已经帮助过很多人,已经阅读并尝试了很多选择,对帮助非常感谢。我有一个变通办法,使用多个对象,但要尽可能避免。

aga*_*con 6

您的导入声明不正确。

您应该导入完整的库:

import * as _ from 'lodash';
...
let foo = _.cloneDeep(bar);
Run Code Online (Sandbox Code Playgroud)

或仅导入cloneDeep函数:

import * as cloneDeep from 'lodash/cloneDeep';
...
let foo = cloneDeep(bar);
Run Code Online (Sandbox Code Playgroud)