根据v2.4.1 Marionette documentation控制器被弃用:
警告:已弃用。不推荐使用Controller对象。而不是使用控制器 使用AppRouter的类,您应该在普通的Javascript对象上指定回调。
我很惊讶现在他们被弃用的最佳做法是什么?这是否意味着AppRouter也被弃用了?如果是这样,目前用于开发大规模木偶应用的模式是什么?
答案 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
});