根据 v2.4.1 木偶文档,控制器正在被弃用:
警告:已弃用。控制器对象已弃用。而不是使用控制器 类,你应该在纯 Javascript 对象上指定回调。
我很困惑现在最佳实践是什么,因为它们已被弃用?这是否意味着应用路由器也被弃用?如果是这样,当前用于开发大规模木偶应用程序的模式是什么?
你可能只使用Marionette.Object。它与控制器基本相同。
要将纯JavaScript对象与AppRouter一起使用,您可以执行以下操作:
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
});