gpt4 book ai didi

meteor - 铁 :router wildcard path generating seems to be broken

转载 作者:行者123 更新时间:2023-12-01 15:07:05 24 4
gpt4 key购买 nike

当您在 iron:router 中为 meteor 创建通配符 URL 时,pathFor 模板助手以及 Router.go 和 Router.routes[routeName].path() 似乎已损坏。

这是我们的路线:

Router.route('/:urlQuery*', function(){
this.render('ourTemplate');
}, {
name : 'ourRoute',
});

为了访问生成的 url,我们尝试了以下方法:

Router.go('ourRoute', {urlQuery : 'test'});
Router.go('ourRoute', {urlQuery : ['test']});
Router.go('ourRoute', {urlQuery : null});
Router.go('ourRoute', {urlQuery : false});

Router.routes.ourRoute.path({urlQuery : 'test'});
Router.routes.ourRoute.path({urlQuery : ['test']});
Router.routes.ourRoute.path({urlQuery : null});
Router.routes.ourRoute.path({urlQuery : false});

而且 - 当然 - 我们还尝试了 {{pathFor}} Template-Helper。

这些代码行中的每一行都抛出相同的错误:

Uncaught Error: You are trying to access a wild card parameter at index 0 but the value of params at that index is undefined

我没有在 iron:router 指南中找到任何引用,所以我的问题是:How to generate a URL in iron:router with a wildcard as parameter ?

最佳答案

看起来 Iron Router 正在使用 path-to-regexp但在 Iron Router 中使用时格式有点不同,不是很清楚。试试这个...

Router.route('/:urlQuery(.*)', function(){

(.) 会告诉它获取参数名称,并重复它 0 次或更多次。只是 urlQuery 打破了我认为的名称,并使其成为正则表达式的一部分。现在,如果你想将多个对象的数组传递给 Router.go,你将遇到另一个问题......

Router.go("our.route", {urlquery: ['test', 'another']});

生成如下所示的 URL...

http://localhost:3000/test%2Canother

但那是另一个问题,我还没有答案。也许对于在 Router.go 中发送多个,更好的方法是自己连接它们。看起来 iron router 和 path-to-regexp 还没有完全集成?

关于meteor - 铁 :router wildcard path generating seems to be broken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33697869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com