现在已经定义了 dateConverter,接下来使用 dateConverter 来清理 date-display 的实现。

使用转换器

Permalink to "使用转换器"

date-display.

Permalink to "date-display."
import {dateConverter} from './date-converter.js';

export class DateDisplay extends LitElement {
...

@property({converter: dateConverter(navigator.language), reflect: true})
date = new Date();
...
import {dateConverter} from './date-converter.js';

export class DateDisplay extends LitElement {
static properties = {
date: {converter: dateConverter(navigator.language), reflect: true},
dateStr: {type: String, attribute: 'date-str'},
};
...

清理对 dateStr 的引用

Permalink to "清理对 dateStr 的引用"

date-display.

Permalink to "date-display."
export class DateDisplay extends LitElement {
@property({converter: dateConverter})
date = new Date();

render() {
return html`
<p>The given date is: ${this.date.toLocaleDateString()}</p>
`;
}
}
export class DateDisplay extends LitElement {
static properties = {
date: {converter: dateConverter},
};

constructor() {
super();
this.date = new Date();
}

render() {
return html`
<p>The given date is: ${this.date.toLocaleDateString()}</p>
`;
}
}

index.html

Permalink to "index.html"
<date-display date="05/05/22"></date-display>

现在,date 特性可以正确地转换为 JavaScript Date 对象了!