Proposition: type-safe XML
Arcasias opened this issue · 0 comments
Arcasias commented
Proposition
Use type markers to ensure type safety in components' XML templates (e.g. <expression>:<type>="value"
). This would only be applied in dev or test mode and would throw an error if the evaluated expression does not return the intended type.
Example
class Root extends Component {
static props = {};
static template = xml`
<div t-att-class:string="className">
Value <t t-esc:number="state.value" />
<button t-on-click:function="onClick">Increment</button>
</div>
`;
className = "my-class";
setup() {
this.state = reactive({ value: 0 });
}
onClick() {
this.state.value++;
}
}