Untitled
unknown
typescript
3 years ago
988 B
6
Indexable
import {
LiveComponent,
RegisterComponent,
} from "../../server/component/component";
@RegisterComponent("counter")
export class CounterComponent extends LiveComponent {
async mount() {
this.assign({
count: 0,
isConnected: this.isConnected(),
});
this.on("inc", () => this.onIncrement());
this.on("dec", () => this.onDecrement());
}
onIncrement(): void {
this.assign({
count: this.state<number>("count") + 1
});
}
onDecrement(): void {
this.assign({
count: this.state<number>("count") - 1
});
}
unmount(): void {
super.unmount();
}
render(): string {
return this.renderEJS(`
<h1>Counter <%=count%></h1>
<p>isConnected: <%=isConnected%></p>
<button live-click="inc">+</button>
<button live-click="dec">-</button>
`);
}
}
Editor is loading...