В Angular 6, как мне загрузить ngx-mydatepicker, когда я не использую SystemJS? - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь реализовать следующее средство выбора даты: https://github.com/kekeh/ngx-mydatepicker/blob/master/README.md

HTML, согласно документам:

<input
  class="form-control"
  style="float:none"
  placeholder="Select a date"
  ngx-mydatepicker // throws error
  name="mydate"
  [(ngModel)]="model"
  [options]="myOptions"
  #dp="ngx-mydatepicker" 
  (dateChanged)="onDateChanged($event)"
/>

Но я получаю ошибку There is no directive with "exportAs" set to "ngx-mydatepicker".

В соответствии с документацией говорится, что если я использую SystemJS, я должен сделать следующее: enter image description here

что, я думаю, решит ошибку, которую я получу, но я не использую SystemJS. Я использую Angular 6, созданный с помощью AngularCLI.

Как правильно импортировать / загружать пакет ngx-mydatepicker без SystemJS?

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

У меня такая же проблема.

Решение есть в app.module.ts Я забыл поставить этот импорт

import { NgxMyDatePickerModule } from 'ngx-mydatepicker/dist/ngx-my-date-picker.module';

и это на импорт:

[
    NgxMyDatePickerModule.forRoot()
] 
0 голосов
/ 30 октября 2018

вам необходимо предоставить публичный API вашей директивы вашему шаблону.

Просто внесите пару изменений -

в тс

Поместите экспорт в декларации Директивы.

@Directive({
 selector: '[ngx-mydatepicker]',
 exportAs: 'ngxMydatepicker'    //<-- expose to outer world.
})

в html

input
  class="form-control"
  style="float:none"
  placeholder="Select a date"
  ngx-mydatepicker // throws error
  name="mydate"
  [(ngModel)]="model"
  [options]="myOptions"
  #dp="ngxMydatepicker"  <!-- exposed directive -->
  (dateChanged)="onDateChanged($event)"
/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...