Meteor 为什么不是';t正在为此路由生成的URL?
所以,我正在进行一个流星项目,我无法正确地生成这条路线,或者根本无法生成这条路线Meteor 为什么不是';t正在为此路由生成的URL?,meteor,iron-router,spacebars,Meteor,Iron Router,Spacebars,所以,我正在进行一个流星项目,我无法正确地生成这条路线,或者根本无法生成这条路线 <template name="browseAll"> <h3>List of classes with books available!</h3> <ul> {{#each aggCount}} <li><a href="{{ pathFor 'browse-class' }}">{{
<template name="browseAll">
<h3>List of classes with books available!</h3>
<ul>
{{#each aggCount}}
<li><a href="{{ pathFor 'browse-class' }}">{{ _id }}</a> ({{ count }})</li>
{{/each}}
</ul>
</template>
看起来数据通过了,聚合的样本数据(进入模板)如下所示:
[ { _id: 'ADNR1234', count: 2 }, { _id: 'ARTH1234', count: 1 } ]
这是我得到的模板代码,这是它应该使用的路线:
this.route('browse-class', {
path: '/browse/:_class',
data: function() {
var booksCursor = Books.find({"class": this.params._class},{sort:{"createdAt": 1}});
return {
theClass: this.params._class,
numBooks: booksCursor.count(),
books: booksCursor
};
}
});
我不明白。正在显示数据,我要做的是为浏览类
(route)生成一个URL,该URL将帮助程序中{{{u id}}
的值作为参数,以便生成如下内容:
[ { _id: 'ADNR1234', count: 2 }, { _id: 'ARTH1234', count: 1 } ]
application.org/browse/CLSS
请注意,调用{{pathFor}}
时必须正确设置数据上下文:
{{#with class}}
{{pathFor "browse-class"}}
{{/with}}
Optionnaly可以将数据上下文作为参数传递:
{{pathFor "browse-class" class}}
如果定义了如下路由路径,则在生成路由路径时将使用提供给pathFor的数据上下文:
path: "/browse/:_id"
然后它将使用类中的\u id
来正确生成URL
对于链接的文本,我怀疑您是否希望显示\u id
,您的类文档可能包含一个“标签”,因此您可以使用以下内容:
<a href="{{ pathFor 'browse-class' }}">{{ label }}</a>
我明白了。这是在一个#each block内,而不是#with。我还能用同样的方法吗?我尝试过使用{{pathFor'browse class'\u id}},但它不起作用。在路由定义中,指定如下路径:“/browse/:\u id”,并在#each循环中使用{{pathFor“browse class”}}。我将编辑我的答案。我想我可能没有提到这篇文章使用的数据来自于一本书的集合。我将编辑我的问题以将其包括在内。我对我的问题进行了编辑,其中包括从聚合进入模板的样本数据,以及聚合代码本身。您是否尝试在路线定义中用\u id
替换\u class
?通常情况下,这应该可以奏效。