Angular4 - 日期选择器在 ng build --prod 中不起作用
Angular4 - Datepicker not working in ng build --prod
我正在开发一个 运行 在 Spring boot + Angular4 上运行的项目。我使用 Angular material 日期选择器组件(来自官方 angular material 站点)
当我 运行 ng serve
一切正常时,我可以 select 约会并绑定到日期 属性 没有任何问题。
但是当我尝试生产版本(使用ng build --prod
和 ng serve --prod
)时,我的日期选择器不工作,它看起来像
this
控制台显示 (full error)
`Cannot convert undefined or null to object
at new DateTimeFormat (native)`
我的代码:
<md-input-container>
<input mdInput (keypress)="$event.preventDefault()" (click)="dateTo.open()" [(ngModel)]="dateToValue" [mdDatepicker]="dateTo" placeholder="To">
<md-datepicker-toggle mdSuffix [for]="dateTo"></md-datepicker-toggle>
</md-input-container>
<md-datepicker #dateTo ></md-datepicker>
我的app.module.ts
import { MaterialModule, MdDialogModule, MdDatepickerModule, MdNativeDateModule, MdInputModule } from '@angular/material';
我使用@angular/material@2.0.0-beta.8。和@angular/cdk@2.0.0-beta.8.
我尝试安装较新的版本 (@2.0.0-beta.12) 并按照官方 GitHub 站点示例和重大更改更改代码,但仍然是一样的。
我也在许多浏览器中没有 ngModel 属性 , 运行 的情况下尝试过,但没有任何改变。我只是不明白为什么 --prod
使我的日期选择器崩溃并且在 ng serve
中工作正常
经过许多小时后,我终于找到了解决问题的方法!
我再次安装了@angular/material@2.0.0-beta.12 的最新版本,所有要做的就是将这些代码行插入您的 MaterialComponents.module
(或您的特定姓名):
export class MaterialComponentsModule {
constructor(private dateAdapter: DateAdapter<Date>) {
dateAdapter.setLocale("sk-SK");
}
}
我认为在开发版本中没有必要,因为默认插入了一些值,但在生产版本中并没有发生。也许这可能是由于使用 ngx-translate
库而没有设置默认语言或其他东西引起的。
但现在,一切都按预期进行:)
我正在开发一个 运行 在 Spring boot + Angular4 上运行的项目。我使用 Angular material 日期选择器组件(来自官方 angular material 站点)
当我 运行 ng serve
一切正常时,我可以 select 约会并绑定到日期 属性 没有任何问题。
但是当我尝试生产版本(使用ng build --prod
和 ng serve --prod
)时,我的日期选择器不工作,它看起来像
this
控制台显示 (full error)
`Cannot convert undefined or null to object
at new DateTimeFormat (native)`
我的代码:
<md-input-container>
<input mdInput (keypress)="$event.preventDefault()" (click)="dateTo.open()" [(ngModel)]="dateToValue" [mdDatepicker]="dateTo" placeholder="To">
<md-datepicker-toggle mdSuffix [for]="dateTo"></md-datepicker-toggle>
</md-input-container>
<md-datepicker #dateTo ></md-datepicker>
我的app.module.ts
import { MaterialModule, MdDialogModule, MdDatepickerModule, MdNativeDateModule, MdInputModule } from '@angular/material';
我使用@angular/material@2.0.0-beta.8。和@angular/cdk@2.0.0-beta.8.
我尝试安装较新的版本 (@2.0.0-beta.12) 并按照官方 GitHub 站点示例和重大更改更改代码,但仍然是一样的。
我也在许多浏览器中没有 ngModel 属性 , 运行 的情况下尝试过,但没有任何改变。我只是不明白为什么 --prod
使我的日期选择器崩溃并且在 ng serve
经过许多小时后,我终于找到了解决问题的方法!
我再次安装了@angular/material@2.0.0-beta.12 的最新版本,所有要做的就是将这些代码行插入您的 MaterialComponents.module
(或您的特定姓名):
export class MaterialComponentsModule {
constructor(private dateAdapter: DateAdapter<Date>) {
dateAdapter.setLocale("sk-SK");
}
}
我认为在开发版本中没有必要,因为默认插入了一些值,但在生产版本中并没有发生。也许这可能是由于使用 ngx-translate
库而没有设置默认语言或其他东西引起的。
但现在,一切都按预期进行:)