Backbone Marionette JS路由器如何工作

时间:2014-02-21 11:25:15

标签: backbone.js marionette backbone-routing

我是Backbone Marionette JS的新手,并想知道它的路由是如何工作的。是否有人可以解释我或指出我正确的方向来看待它。

提前致谢。

4 个答案:

答案 0 :(得分:2)

你应该看看

  

https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.approuter.md

  • 和其他木偶样品
  

https://github.com/davidsulc/marionette-gentle-introduction

  • 这是一个很好的开始。您将了解Marionette的工作原理以及与Backbone Code Style的不同之处。

答案 1 :(得分:1)

Marionette Router扩展了Backbone Router对象。它是一个将URL注册到方法(函数)的对象。这意味着无论何时导航到新URL,客户端都会向服务器发出GET请求(将下载html文件和css,js导入内部)。然后,将评估与路线相对应的方法。

有一个用于浏览器的标准。无论在#前面是什么,都要求服务器,以及随后的内容将进入您的路由器。

您只需要实例化路由器以使路由正常工作。我认为它注册到Backbone中的全局变量。在Backbone中激活历史记录后,您可以使用这些路径。

答案 2 :(得分:1)

我正在寻找这样的东西,希望这会帮助别人。这个例子来自Davis Sulc的书“Gentle Introduction to Marionette”。

ContactManager.module("ContactsApp",function(ContactsApp,ContactManager,Backbone,Marionette_){
ContactsApp.Router = Marionette.AppRouter.extend({
appRoutes: {
  "contacts": "listContacts"
});
varAPI={
   listContacts: function(){
    console.log("route to list contacts was triggered");
   }
};
ContactManager.addInitializer(function(){ new ContactsApp.Router({
   controller: API
 });
 }); 
});

答案 3 :(得分:0)

Davis Sulc的书Gentle Introduction to Marionette是一个很好的起点。理解Marionette.Controller和Marionette.Module的概念将有助于拆分路由器以提高可维护性。