我已经看到了一些关于如何使用iron:router作为第三个参数传递参数的答案,例如:href="{{pathFor 'article' _id=this._id }}"
我想要做的是传递一个参数作为第二个变量(上面的例子中'article'
)。
我有一个posts
的集合,其中包含title
,body
和type
。我正在处理的项目中有三种类型的文章,每种类型都需要路由到不同的模板,因为格式有很大不同。
我希望能够根据类型路由到特定网址。捕获我的意图但不起作用的一个例子是:
<a href="{{pathFor '{{type}}'}}">link</a>
其中一个“类型”是“查询”,路线如下:
@route "inquiryPost",
path: "inquiry/:_id"
data: ->
Posts.findOne @params._id
waitOn: ->
[
Meteor.subscribe "posts"
]
我尝试使用帮助器将值传递给pathFor
,但这也不起作用:
path: ->
type = @type
"pathFor '#{type}'"
......在前端有这个:
<a href="{{path}}">link</a>
我可以想到一些解决方法,但在我看来应该有一种更简单的方法来传递参数......
那么,是否可以将参数传递给pathFor的第二个值?
答案 0 :(得分:4)
尝试
<template name="example">
<a href="{{pathFor type}}">link</a>
</template>
其中type是帮助者
Template.example.examples({
type:function(){
return type;
}
})
你也可以试试这个例子
<a href="/myRoute/{{myHelper}}/{{this._id}}">link with many parameters</a>
在这里您可以访问例如路线
例如 /myRoute/type/rewr8671qew