initial release
This commit is contained in:
parent
554e8358cf
commit
70b2489539
81 changed files with 6702 additions and 2 deletions
67
docs/mithril.render.md
Normal file
67
docs/mithril.render.md
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
## m.render
|
||||
|
||||
This method generates a DOM tree inside of a given HTML element.
|
||||
|
||||
If the method is run more than once with the same root element, it diffs the new tree against the existing one and intelligently modifies only the portions that have changed.
|
||||
|
||||
Note that, unlike many templating engines, this "smart diff" feature does not affect things like cursor placement in inputs and focus, and is therefore safe to call during user interactions.
|
||||
|
||||
---
|
||||
|
||||
### Usage
|
||||
|
||||
Assuming a document has an empty `<body>` element, the code below:
|
||||
|
||||
```javascript
|
||||
var links = [
|
||||
{title: "item 1", url: "/item1"}
|
||||
];
|
||||
|
||||
m.render(document.body, [
|
||||
m("ul.nav", [
|
||||
m("li", links.map(function(link) {
|
||||
return m("a", {href: link.url, config: m.route}, link.title)
|
||||
})
|
||||
])
|
||||
]);
|
||||
```
|
||||
|
||||
yields:
|
||||
|
||||
```markup
|
||||
<body>
|
||||
<ul class="nav">
|
||||
<li>
|
||||
<a href="/item1">item 1</a>
|
||||
</li>
|
||||
</ul>
|
||||
</body>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Signature
|
||||
|
||||
[How to read signatures](how-to-read-signatures.md)
|
||||
|
||||
```clike
|
||||
void render(DOMElement rootElement, Children children)
|
||||
|
||||
where:
|
||||
Children :: String text | Array<String text | VirtualElement virtualElement | Children children>
|
||||
VirtualElement :: Object { String tag, Attributes attributes, Children children }
|
||||
Attributes :: Object<Any | void config(DOMElement element)>
|
||||
```
|
||||
|
||||
- **DOMElement rootElement**
|
||||
|
||||
A DOM element which will contain the template represented by `children`.
|
||||
|
||||
- **Children children**
|
||||
|
||||
If this argument is a string, it will be rendered as a text node. To render a string as HTML, see [`m.trust`](mithril.trust)
|
||||
|
||||
If it's a VirtualElement, it will be rendered as a DOM Element.
|
||||
|
||||
If it's a list, its contents will recursively be rendered as appropriate and appended as children of the `root` element.
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue