packages/lit-dev-content/site/tutorials/content/custom-attribute-converter/04.md
Now that the dateConverter has been defined, clean up the implementation of date-display by using the dateConverter.
dateConverter from <code>date-converter.<ts-js></ts-js></code>.converter on the date reactive property option to an invocation of dateConverter.
navigator.language string as an argument.date by removing attribute: false.reflect: true.{% switchable-sample %}
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'},
};
...
{% endswitchable-sample %}
dateStrdateStr property.willUpdate method.
(You no longer need to synchronize dateStr with date.)index.html to use the date attribute instead.{% switchable-sample %}
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>
`;
}
}
{% endswitchable-sample %}
<date-display date="05/05/22"></date-display>
Now, the date attribute can be properly converted to a JavaScript Date object!