- Each file can contain the logic for only a single component
- HTML is defined first and the logic is enclosed inside a
<script>
tag. - All template expressions are “just javascript™️”:
<pre>{ JSON.stringify(props) }</pre>
- The
this
keyword is optional: is valid as<p>{ this.name }</p>
- Boolean attributes (checked, selected, etc.) are ignored when the expression value is falsy: becomes
<input>
. - All attribute names must be lowercase. This is due to browser specification.
- Tag definition root may also have attributes:
<my-component onclick={ click } class={ props.class }>
.