var Button = { controller: function(){ this.active = false }, view: function (state,attrs) { var onclick = function () {state.active = !state.active} return m("button", {onclick: onclick, style: state.active ? "color:red" : ""}, attrs.text) } } var button = m(Button, {text: "Inactive Button"}) var MainComponent = { view: function () { return [ m(Button, {text: "Active Button"}), button ] } } m.mount(document.body, MainComponent)