使用Meteor,是否可以拥有"动态路线?"

时间:2013-06-14 01:39:32

标签: meteor

抱歉,我是webdev和Meteor的新手,我不太确定正确的术语。我正在使用Meteor-Router在我的Meteor应用程序中创建路线。

我正在尝试创建一个测试餐厅应用,因此我的数据库中的条目可能是:

name: "Kentucky Fried Chicken"
type: "Fast Food"

在应用的主页上,您会看到一个餐馆列表。但是,用户可以单击该列表上的任何项目以进入更详细的页面。

我宁愿网址看起来不像:

/餐厅/ 123

但更像是:

/fast-food/kentucky-fried-chicken
/japanese/sushi-r-us
/italian/some-italian-restaurant-name

这可能与Meteor& amp;流星路由器?谢谢!

顺便说一句,现在我的路线非常简单:

Meteor.Router.add({
  '/': 'home',
  '/admin': 'admin',
  '/403': 'unauthorized'
});

2 个答案:

答案 0 :(得分:2)

您可以使用比您现在使用的路线更复杂的路线,例如:

Meteor.Router.add({
  '/:type/:restaurant': function(type, restaurantName) {
    var restaurant = Retaurants.findOne({type: type, name: restaurantName});
    Session.set('restaurantFromUrl', restaurant);
    // Now your restaurant is in the "restaurantFromUrl" Session
    return 'restaurantPage';
  }
});

/:type和/:restaurant将被传递到回调中,并且是您在URL中设置的内容。哦,你可能想要添加一个/ show-restaurant / type / name /,否则所有匹配模式“/ whatever / url”的url(未在其他路由中设置)将尝试获取餐厅

您需要知道的一切都在这里:https://github.com/tmeasday/meteor-router

哦,这只是一个例子。没有测试过,但它应该可以工作。

答案 1 :(得分:0)

大多数人使用的Meteor的当前路线包是:Iron Router