木偶控制器最佳实践

时间:2015-03-09 13:46:01

标签: javascript backbone.js marionette

根据v2.4.1 Marionette documentation控制器被弃用:

  

警告:已弃用。不推荐使用Controller对象。而不是使用控制器   使用AppRouter的类,您应该在普通的Javascript对象上指定回调。

我很惊讶现在他们被弃用的最佳做法是什么?这是否意味着AppRouter也被弃用了?如果是这样,目前用于开发大规模木偶应用的模式是什么?

1 个答案:

答案 0 :(得分:7)

您可以使用Marionette.Object。它与Controller基本相同。

要在AppRouter中使用普通的JavaScript对象,您可以执行以下操作:

    var MyController = Marionette.Object.extend({/*...*/});
    var AnotherController = Marionette.Object.extend({/*...*/});

    var myController = new MyController();
    var anotherController = new AnotherController();

    var plainJsObject = {
      doStuff: myController.doStuff,
      doSomethingDifferent: anotherController.doSomethingDifferent
    };

    var router = Marionette.AppRouter.extend({
      controller: plainJsObject
    });