在Angular 6中,当我不使用SystemJS时如何加载ngx-mydatepicker?

时间:2018-10-30 08:50:56

标签: angular webpack datepicker systemjs

我正在尝试实现以下日期选择器: 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。我运行使用AngularCLI构建的Angular 6。

在没有SystemJS的情况下导入/加载ngx-mydatepicker软件包的正确方法是什么?

2 个答案:

答案 0 :(得分:0)

  

您需要向模板公开指令公共API。

只需进行几处更改-

以ts

将exportAs放入指令声明中。

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

in 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)"
/>

答案 1 :(得分:0)

我有同样的问题。

解决方案在app.module.ts上,我忘记了放置此导入

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

以及有关进口的信息:

[
    NgxMyDatePickerModule.forRoot()
]