【问题标题】:how to navigate one page to another view?如何将一个页面导航到另一个视图?
【发布时间】:2016-01-03 00:33:31
【问题描述】:

我正在尝试在主干中制作简单的应用程序。实际上我想在 url 更改时调用方法。我想了解主干路由的工作原理。我研究了路由,但是当我更改 url 时我的警报不显示。 当我用这个 “#contacts” 附加 url 但它没有调用这个方法

listContacts: function () {
          alert("route")
            console.log("route to list contacts was triggered");
            ContactsApp.List.Controller.listContacts();
        }

我们可以在单击列表的任何项目时移动到下一页或查看。实际上我想在使用主干路由单击行后将一页移动到另一页?

这是我的代码 http://plnkr.co/edit/yN16uPgk0dcJAcrApewH?p=preview

app.module("ContactsApp", function (ContactsApp, app, Backbone, Marionette, $, _) {
   // console.log(app)
    ContactsApp.Router = Marionette.AppRouter.extend({
        appRoutes: {
            "contacts": "listContacts"
        }
    });
    var API = {
        listContacts: function () {
          alert("route")
            console.log("route to list contacts was triggered");
            ContactsApp.List.Controller.listContacts();
        }
    };
    ContactsApp.on("start", function () {
        new ContactsApp.Router({
            controller: API
        });
    });
});

有任何使用木偶的更新吗?

【问题讨论】:

    标签: javascript backbone.js marionette backbone-views backbone-routing


    【解决方案1】:

    您需要使用Backbone Router

    var app = new Marionette.Application();
    
    app.addRegions({
      'main': '#main1'
    });
    
    var Router = Backbone.Router.extend({
      routes: {
        'item(/*id)': 'item',
        '*params': 'home'
      }
    });
    
    app.router = new Router();
    
    // Home route
    app.router.on('route:home', function() {
      var page = new HomeView({...})
      app.main.show(page);
    });
    
    // Item route
    app.router.on('route:item', function(id) {
      var page = new ItemView({id:id, ...})
      app.main.show(page);
    });
    
    ...
    
    app.start();
    Backbone.history.start({pushState: true});
    

    这是你的modified code

    【讨论】:

    • 是的,我知道,但是我将如何使用它..你能举个例子吗..点击按钮我移到下一页
    • 请看文末链接
    • 感谢您的回答您正在使用骨干路由,我们可以使用木偶路由marionettejs.com/docs/v2.4.3/marionette.approuter.html
    • 它的工作方式相同,也使用骨干路由器,只是语法略有不同。
    • 可以帮我一个忙,你能用它做一个 plunker 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-16
    • 2021-09-20
    • 1970-01-01
    相关资源
    最近更新 更多