Iron-router如何确定路由优先级?

时间:2015-05-07 04:05:06

标签: meteor routing iron-router

假设您有以下路线定义:

   @route "home1",
      path: "/:homeSlug1

   @route "home2",
      path: "/:homeSlug2

   @route "home3",
      path: "/fixedPath

然后转到浏览器中的localhost:3000/fixedPath

Iron-Router如何选择优先级?

看起来固定路径路径优先于参数化路由。这可能吗?

2 个答案:

答案 0 :(得分:2)

每次调用IWorkBenchPage page = .....; MyView view = page.openView(MyViewID,"myview",VIEW_ACTIVATE); IDataProvider dp = ....; // the following statement will set the dataprovider, the necessary layers view.dataProvider(dp); view.getTable().refresh(); .... 时,新路由都会被推送到可能路由数组的后面。当一个请求进来时,IronRouter会遍历该数组并选择匹配的第一个数组。因此,优先顺序直接来自您指定路线的顺序。

查看source表明了这一点:

Router.route(...)

以后

 Router.prototype.route = function (path, fn, opts) {
   ...
   var route = new Route(path, fn, opts);
   ...
   this.routes.push(route);
 }

答案 1 :(得分:0)

没有优先权。将返回匹配url表达式的第一个路由。 /:参数用于定义具有动态数据上下文的单个路由,通常是db索引或唯一键。