我有一个按钮来触发我的路线 speaker
<div class='btn btn-sm' id='inspect' href="{{pathFor 'speaker'}}">inspect</div>
客户端js处理触发路由
Router.route('speaker', {
path:'/speakers/:_id',
template: 'speaker',
data: function(){
return Speakers.findOne(this.params._id);
}
});
还有一个简单的模板来呈现我的数据的三个字段
<template name='speaker'>
<h1>single speaker info</h1>
<li>{{first}} {{last}} @ {{date}}</li>
</template>
但是当我点击我的 inspect
按钮触发路线,没有任何反应。我的应用程序上还有其他路线,但我不明白为什么这条路线不会让步。
最佳答案
您的按钮是一个样式为引导按钮的 div,但它不保留 HTML anchor (链接)功能。
您需要做的是定义一个 anchor 并将其设置为按钮样式:
<a class='btn btn-sm' id='inspect' href="{{pathFor 'speaker'}}">inspect</a>
iron:router
中还有一个 {{#linkTo}}
block 助手,您可以像这样使用它:
{{#linkTo class="btn btn-sm" route="speaker"}}inspect{{/linkTo}}
关于javascript - meteor 路由没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28253283/