2015-03-09 16 views
7

v2.4.1 göre Marionette documentation kontrolörleri kaldırılmaktadır:Marionette Kontrolörü İyi Uygulama

Uyarı: kaldırılmış. Controller nesnesi kullanımdan kaldırılmıştır. Denetleyici sınıfını AppRouter ile kullanmak yerine, geri aramalarınızı düz bir Javascript nesnesinde belirtmeniz gerekir.

Şimdi en iyi uygulamaların kullanımdan kaldırıldıkları konusunda kafam karıştı mı? Bu, AppRouter'ın da kullanımdan kaldırıldığı anlamına mı geliyor? Eğer öyleyse büyük ölçekli Marionette uygulamaları geliştirmek için kullanılan mevcut desenler nelerdir?

+0

https://github.com/davidsulc/marionette-gentle-introduction/blob/master/assets/js/:

Böyle bir şey yapabileceğini AppRouter JavaScript nesne sade kullanmak için http://stackoverflow.com/questions/11410059/suggested-bootstrap-boilerplate-sample-for-backbone-marionette-application adresindeki apps/contacts/contacts_app.js veya danikoren'den gelen iyi yanıtlar – zloctb

cevap

6

Muhtemelen Marionette.Object'u kullanabilirsiniz. Temelde Denetleyici ile aynı.

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 
    });