Mithril vnode lifecycle
HTML
<script src="https://rawgit.com/lhorie/mithril.js/next/mithril.js"></script>
JavaScript
var data = {
flag: false
}
var App = {
view: function (v) {
return [
m('p', `Click the button and watch the console:`),
m('button[type=button]', {
'onclick': () => data.flag = !data.flag
},
`Toggle flag`
),
[(data.flag ?
m('p', {
key: 'omytta',
oninit : function (v) {console.log('oninit') },
onbeforeupdate: function (v, o) {console.log('onbeforeupdate') },
oncreate : function (v) {console.log('oncreate') },
onupdate : function (v) {console.log('onupdate') },
onbeforeremove: function (v) {console.log('onbeforeremove') },
onremove : function (v) {console.log('onremove') },
},
`Flag is true.`
)
:
m('p', {
key: 'kjfklej'
},
`Flag is false.`
)
)]
]
}
}
m.mount(document.body, App)