Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<meta name="description" content="Access controller method outside of component">
  <meta charset="utf-8">
  <title>JS Bin</title>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/mithril/0.2.0/mithril.min.js"></script>
</head>
<body>
</body>
</html>
 
var app = {};
var controller;
app.controller = function() {
  var level = m.prop(0);
  
  return {
    level: level,
    changeLevel: function(newLevel) {
      level(newLevel);
      m.redraw();
    }
  };
};
app.view = function(ctrl, opts) {
  //console.log('view');
  return m('div', {
    config: function(el, inited) {
      if (inited) return;
      //console.log('config');
      controller = ctrl;
    }
  }, 'Level: ' + ctrl.level());
};
window.setInterval(function() {  
 if (controller) {   controller.changeLevel(Math.floor(Math.random() * 100));
}
}, 1000);
m.mount(document.body, m.component(app));
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
ArthurClemenspro
0viewers