【问题标题】:How to set default params in can.Control.route如何在 can.Control.route 中设置默认参数
【发布时间】:2026-02-14 10:50:01
【问题描述】:

当使用 here 记录的 can.Control.route 时,我无法设置默认参数值,因为在使用如下经典声明方式时是可能的:

can.route("content/:type", {type: "videos" });

在使用路由控制时,有没有办法设置路由器参数的默认值?

感谢您的帮助。

【问题讨论】:

    标签: javascript routes canjs canjs-routing


    【解决方案1】:

    你应该能够在你的控件中定义路由,然后按照上面的描述设置默认值:

    can.Control.extend({
      'content/:type route': function() {
        //
      }
    });
    
    can.route("content/:type", { type: "videos" });
    

    【讨论】:

    • 你好。感谢您的反馈。这不是我真正想要的。如果我这样做,它会让我写两次相同的代码。我想我会切换回声明方式。
    • 是的,但是除了在控制路由插件中将路由声明为字符串之外,没有其他方法可以做更多的事情。虽然 content/ 应该使用空类型调用相同的路由,但您可以在处理程序中使用 data.type || 'video'