具有主干路由的嵌套视图

时间:2016-04-01 15:19:31

标签: javascript backbone.js routes marionette nested-routes

我想在带有路线的骨干应用中导航我的嵌套视图。我有下一个代码:

var StoreRouter = Backbone.Marionette.AppRouter.extend({

  appRoutes: {
    'item/:name/' : 'showItem',
    "item/:name/species/:speciesName/" : "showSpecies"
  }

});

var StoreCtrl = Marionette.Object.extend({

  showItem: function(name){
    console.log("showItem");
    /* execute function for show Item */  
  },

  showSpecies: function(name, speciesName){
    console.log("showSpecies");
    /* execute function for show Species inside Item Layout  */ 
  }

});

所以,我需要在路线是"项目/:物种/物种/:物种名称/"但我只是触发showSpecies fucntion,而不是两者。如果路由是" item /:name / species /:speciesName /"我该怎么做才能触发showItem然后showSpecies函数?

1 个答案:

答案 0 :(得分:1)

这里没有什么全新的。只需直接从showItem拨打showSpecies功能即可 此外,您可以使用routes哈希而不是appRoutes,然后就可以这样做:

var StoreRouter = Backbone.Marionette.AppRouter.extend({

  routes: {
    'item/:name/' : 'showItem',
    'item/:name/species/:speciesName/' : function(){
      this.showItem();
      this.showSpecies();
    }
 }

});