More Mithril Examples
HTML
http://fiddle.jshell.net/ramnathv/eaj25p56/#run
CoffeeScript
LikeButton =
controller: ->
state:
liked: m.prop(false)
handleClick: (e) ->
@state.liked [email protected]()
view: (c) ->
text = if c.state.liked() then 'like' else 'havent liked'
m 'p', {onclick: c.handleClick.bind(c)}, "You #{text} this. Click to toggle"
CheckBox =
controller: (props) ->
state:
isChecked: m.prop(false)
label: ->
if @state.isChecked()
props.labelOn
else
props.labelOff
view: (c, props) ->
m 'div', [
m 'input[type="checkbox"]', {
onchange: m.withAttr("checked", c.state.isChecked)
checked: c.state.isChecked()
}
m 'label', c.label()
]
myCheckBox = m.component(CheckBox, {labelOn: "On", labelOff: "Off"})
m.mount(document.body, myCheckBox)