lodash неявный дает ошибку «_ не является функцией» - PullRequest
0 голосов
/ 23 октября 2019

При попытке использовать 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

1 Ответ

1 голос
/ 23 октября 2019

Lodash _ - это не функция, это объект, как указывает сообщение об ошибке.

Вы используете Lodash только в двух местах в вашем коде, и только одно из этих мест использует _ как функция. Эта строка вашего кода:

_(["a", "b", "c"]).filter(itm => itm == "b")

должна быть:

_.filter(["a", "b", "c"], itm => itm == "b")
...