我似乎无法获得正确的语法。
我在一个类上有一个事件,并且在单击该类时,我希望根据上下文中的参数将用户发送到不同的路径。以下是错误的,但希望能够展示我想要实现的目标。
'click .foo': function(){
param1= this.param1; param2 = this.param2;
Router.go("routName", param1, param2)
}
答案 0 :(得分:1)
这是一个让你入门的简单例子:
<template name="parent">
{{> child childContext}}
</template>
<template name="child">
<a href={{pathFor "my-route"}}>
Go to my route with parameter = 'value'. (/my-route/value)
</a>
</template>
Template.parent.helpers({
childContext:function(){
return {
parameter:"value"
};
}
});
this.route("my-route",{
path:"/my-route/:parameter"
});
由于href
帮助器,我认为您希望使用计算{{pathFor}}
值的锚点。
{{pathFor}}
,Router.path
和Router.go
都采用相同的论点:
例如在my-route
中,我们有一个/my-route/:parameter
的路径,所以当我们想要使用某些数据上下文计算动态路径时,我们必须确保这个数据上下文是一个有参数的对象属性。
使用button
+ Router.go
可能不适合将用户重定向到应用程序中的某个其他URL(这是锚点做的吗?),但这就是我们如何做到的:
<template name="child">
<button type="button">
Go to my route with parameter = 'value'. (/my-route/value)
</button>
</template>
Template.child.events({
"click button":function(event,template){
Router.go("my-route",this);
}
});