流星路由没有响应

Meteor route not responding

我有一个按钮可以触发我的路线 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 样式为 bootstrap 按钮,但它不保留 HTML 锚点(链接)功能。

您需要做的是定义一个锚点并将其设置为按钮样式:

<a class='btn btn-sm' id='inspect' href="{{pathFor 'speaker'}}">inspect</a>

iron:router 中还有一个 {{#linkTo}} 块助手,您可以像这样使用它:

{{#linkTo class="btn btn-sm" route="speaker"}}inspect{{/linkTo}}