Add some content

Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
This commit is contained in:
RMidhunSuresh 2021-06-08 21:13:52 +05:30
parent e4a1c99615
commit 4d79279f42
2 changed files with 21 additions and 0 deletions

View File

@ -0,0 +1,3 @@
# Index for UI code
1. [Rendering DOM elements](./render-dom-elements.md)

View File

@ -0,0 +1,18 @@
There are two options to render DOM elements:
- Use `tag` from `ui/general/html.js`
- Use `TemplateBuilder` object (t) from the render function in the view.
Although syntactically similar, they are not functionally equivalent.
Primarily `tag` **does not support** bindings nor event handlers.
```js
// The onClick here wont work!!
tag.button({className:"awesome-btn", onClick: () => this.foo()});
```
For these functionalities always use the TemplateBuilder object that is passed as argument to the render method.
```js
render(t, vm){
// The onClick works here.
t.button({className:"awesome-btn", onClick: () => this.foo()});
}
```