Marionette 控制器最佳实践

Marionette Controller Best Practice

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

Warning: deprecated. The Controller object is deprecated. Instead of using the Controller class with the AppRouter, you should specify your callbacks on a plain Javascript object.

我很困惑现在最好的做法是什么,因为它们已经被弃用了?这是否意味着 AppRouter 也被弃用了?如果是这样,当前用于开发大型 Marionette 应用程序的模式是什么?

您可能只使用 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
    });