【问题标题】:Error using lodash.clonedeep in Angular 5在 Angular 5 中使用 lodash.clonedeep 时出错
【发布时间】:2018-02-25 10:07:26
【问题描述】:

首先,我以前从未使用过 lodash.clonedeep,但对 JavaScript 相当了解。

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

import { cloneDeep } from 'lodash.clonedeep';

editStart(): void {
   this.oldData = cloneDeep(this.currentData);
   this.editing = true;
}

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

非常感谢您的帮助,因为我没有选择,已经阅读并尝试了很多选择。我有一个解决方法,使用多个对象,但希望尽可能避免。

【问题讨论】:

  • 你能告诉我们你的 package.json 吗??
  • 你的sintax没问题,你只需要改变.对于/,并像这样使用camelCase 'lodash/cloneDeep'

标签: javascript angular lodash


【解决方案1】:

您的导入语句不正确。

您应该导入完整的库:

import * as _ from 'lodash';
...
let foo = _.cloneDeep(bar);

或者只导入 cloneDeep 函数:

import * as cloneDeep from 'lodash/cloneDeep';
...
let foo = cloneDeep(bar);

【讨论】:

    【解决方案2】:

    我对 Angular 7 的体验:

    在src项目中使用时:

    import * as cloneDeep from "lodash/cloneDeep";
    

    在库项目中使用时:

    import cloneDeep from "lodash/cloneDeep";
    

    注意:更好地导入每个模块以减小主模块大小 (the-correct-way-to-import-lodash-libraries-a-benchmark)。

    【讨论】:

      猜你喜欢
      • 2018-06-28
      • 1970-01-01
      • 2019-09-30
      • 2019-01-08
      • 1970-01-01
      • 2018-09-01
      • 1970-01-01
      • 2022-09-24
      • 2019-08-22
      相关资源
      最近更新 更多