ng-select в Angular5 проблема: ошибка TypeError: Object (...) не является функцией в NgDropdownPanelComponent.ngOnInit (ng-select.Яш

Я работаю с ng-select 2.0.0 в моем проекте angular5, как в этой ссылке , я могу получить результаты от загрузки API rest spring, но я ускоряю проблему, я получаю эту ошибку, когда я нажимаю на ng-select:

ERROR TypeError: Object(...) is not a function
at NgDropdownPanelComponent.ngOnInit (ng-select.js:1450)
at checkAndUpdateDirectiveInline (core.js:12352)
at checkAndUpdateNodeInline (core.js:13876)

а также я не могу выбрать информацию ( в данном случае атрибут "nom"), которую я хочу, это похоже на то, что выбор ng заблокирован или что-то вроде этого .

Это мой код для проекта.деталь.HTML-код

<ng-select  *ngIf="_listClients"
             [items]="listClient"
              bindLabel ="nom"
              bindValue ="id"
            [(ngModel)]="selectedPersonId">

</ng-select>

<p>
  Selected city ID: {{selectedPersonId | json}}
</p>

Это файл проект.деталь.ТС

    import {Component, OnInit, ViewChild} from '@angular/core';
import {ActivatedRoute, Router} from '@angular/router';
import {ProjetService} from '../../../../../service/projet.service';
import {Projet} from '../../Models/Projet';
import { ModalDirective } from 'ngx-bootstrap/modal';
import 'rxjs/add/operator/map';
import {ClientService} from '../../../../../service/client.service';

@Component({
  selector: 'app-projects',
  templateUrl: './projects.component.html',
  styleUrls: ['./projects.component.scss']
})
export class ProjectsComponent implements OnInit {

  selectedPersonId:number = null;
  _listClients :any;


constructor(private router:Router,
              private projetSevice:ProjetService,
              private clientServ:ClientService,
              private route: ActivatedRoute) { }

ngOnInit() {

       this.clientList();
  }


get listClient() {
     return this._listClients ? this._listClients.map(item => {
      return {id: item.id, prenom : item.prenom , nom : item.nom}
    }) : [];
  }


  clientList(){

     this.clientServ.getListClients()
       .subscribe((data:any)=>{
        this._listClients=data;
       },err=>{
         console.log('this is error ');
       })

  }

}

помочь ?

2 ответов


(просто скопируйте вставку ответа из моего комментария, чтобы закрыть вопрос)

думаю,ng-select v2.0.0 этот вопрос. Я нашел 2 запроса на выпуск в репо GitHub.

решение:

попробуйте понизить версию до v1.4.1.

npm uninstall @ng-select/ng-select 
npm i -s @ng-select/ng-select@1.4.1

EDIT: (25.05.18)

существует проблема для взлома изменений из Rxjs 6.0. Если вы используете Angular v5 установить ng-select v1.x или установить ng-select v2.0+ С rxjs-compat.

npm i -s @ng-select/ng-select@1.x
//or
npm i -s @ng-select/ng-select@latest rxjs-compat

Как указано в readme РЕПО https://github.com/ng-select/ng-select#v200:

последняя версия нацелена на угловой v6, так как он использует новый RxJS, который имеет критическое изменение. Если вы используете Angular v5, вы можете использовать ng-select В1.x или установите пакет совместимости rxjs-compat. Мы будем поддерживать В1.x с последними исправлениями ошибок, чтобы облегчить миграцию. Для v1.X вы можете ссылаются на 1.х филиал.

однако с помощью v2.0.0 с RxJS-compat не работал на меня. Я использую угловой v5.2.9.