具有默认值的 JavaScript 路由

标签 javascript url-routing

是否有支持路由参数默认值的 JavaScript 路由库? 这是我所追求的示例

route = /example/{pagenumber}/{pagesize}

defaults = { pagenumber: 0, pagesize: 0}

这应该匹配以下所有路由并提供显示的值

  1. /example/ 与值 { pagenumber: 0, pagesize: 0}
  2. 匹配
  3. /example/1/ 与值 { pagenumber: 1, pagesize: 0}
  4. 匹配
  5. /example/1/5 与值 { pagenumber: 1, pagesize: 5}
  6. 匹配

最佳答案

我不知道有任何库具有默认参数,但您可以做的是在路由匹配时调用的处理函数中设置默认值。

假设 handlerFunc 已向路由器注册来处理路由 /example/{pageNumber}/{pageSize},并且路由器允许在路由中使用命名参数,并且足够智能来匹配以下 URL:

  1. /示例
  2. /example/1
  3. /example/1/5

您的处理函数可以执行如下操作:

function handlerFunc(params) {
    // If URL params were set, use them, otherwise use default value 0.
    var pageNumber = params.byName("pageNumber") || 0;
    var pageSize = params.byName("pageSize") || 0;

    // The rest of your code here ...
}

此代码假设 params 已传递给 handlerFunc,并有一个名为 byName 的方法,该方法返回指定参数的值。如果 params 是一个简单数组,您可以使用 params[0]params[1] 访问其值。

关于具有默认值的 JavaScript 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28307432/

相关文章:

javascript - 在同一台服务器上运行 deployd 和 angular.js 应用程序

python - Pyramid :为由 route_url 构造的每个 URL 扩展查询字符串

javascript - jQuery 而不是向左移动。它消失了。 slider

javascript - 无法将 jquery 动态添加到头部并运行 jquery 代码

Django url 反向错误

PHP MVC 路由 -> 如何将 uri 数组元素转换为对路由有用的字符串?

php - CodeIgniter URI 路由和空段

javascript - 销毁 var 中包装的实例

javascript - 如何在不使用事件的情况下获取元素的 pageX 和 pageY

javascript - 刷新后 firebase uid 变为未定义