我有一个我一直在重复使用的后退按钮的模板:
<template name="btnBack" label="" path="">
<a href="" data-path="{{path}}" class="btn btn-info btn-small" role="button">
<span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span> {{label}}
</a>
</template>
我将两个字段label
和path
静态传递给它。
我的目的是将静态path
字段传递给Iron-Router
以更改呈现的模板。
将href
设置为{{pathFor '{{path}}'}}
不起作用。
也没有将属性onclick
定义为Router.go('{{path}}')
。
在我的第三次尝试中,我将路径传递给数据属性:
data-path="{{path}}"
然后我从模板助手中引用这个属性:
Template.btnBack.events({
'click a': function(event, template) {
var path = ''+event.target.dataset.path;
console.log(path);
Router.go(path);
}
});
console.log
语句正确运行,并在Google Chrome控制台窗口中输出静态定义的路径。
Router.go
然而,什么都不做 - 它甚至不会在控制台中为错误的路径引发错误。
以下是我实例化模板的方法:
{{> btnBack label="Back" path="home"}}
我做错了什么?
答案 0 :(得分:1)
您可以尝试设置链接
<template name="btnBack" label="" path="">
<a href="{{ pathFor path }}" class="btn btn-info btn-small" role="button">
<span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span> {{label}}
</a>
</template>