【问题标题】:How the Backbone Marionette JS router worksBackbone Marionette JS 路由器的工作原理
【发布时间】:2014-02-21 11:25:14
【问题描述】:

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

提前致谢。

【问题讨论】:

    标签: backbone.js marionette backbone-routing


    【解决方案1】:

    你应该看看

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

    • 和其他木偶样本

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

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

    【讨论】:

      【解决方案2】:

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

      有一个用于浏览器的标准。 # 前面的任何内容都向服务器请求,后面的内容将进入您的路由器。

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

      【讨论】:

        【解决方案3】:

        我一直在寻找类似的东西,希望这对其他人有帮助。该示例来自 Davis Sulc 的《木偶的温和介绍》一书。

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

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2014-01-20
            • 2012-12-02
            • 2016-01-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-08-31
            相关资源
            最近更新 更多