如何在Marionette中使用onRoute?

Ham*_*ara 0 backbone.js marionette

任何人都能给我一个关于如何在Marionette中使用onRoute的简单例子吗?

Hei*_*erg 9

根据你自己链接到的文档(很难在页面的最后找到那个小段落!)onRoute,如果你将它添加到任何文件中Marionette.AppRouter,那么只要用户在你的应用程序中导航,它就会被调用".

该方法的参数如下:

  1. 例如,路由器方法附加到路由(通过routes哈希)showArticle
  2. 这个应该是URL路径,但由于某种原因,它主要undefined在这里
  3. 一系列URL片段,通常是文章ID,以继续文章示例.

无论你使用什么,完全取决于你,但我现在无法提出任何有用的例子.我使用Backbone.Routerexecute方法虽然很多,其执行之前路由的处理程序被调用,使得它在很多情况下,更加有用.它Marionette.AppRouter只是扩展而已Backbone.Router.

var Router = Marionette.AppRouter.extend(
{
    routes: {
        'article/:id(/)': 'showArticle'
    },

    showArticle: function(id)
    {
        // ...
    },

    onRoute: function(name, path, arguments)
    {
        // What fun stuff should we put here?
        // Keep a session alive somehow?
        // Add analytics/tracking?
    }
});
Run Code Online (Sandbox Code Playgroud)