2015-01-31 2 views
1

У меня есть кнопка, чтобы вызвать мой маршрут 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> 

Но когда я c lick my inspect кнопка для запуска маршрута, ничего не происходит. У меня есть другие маршруты, работающие над моим приложением, но я не могу понять, почему этот человек не сдвинется с места.

ответ

2

Ваша кнопка - это div, созданная как кнопка начальной загрузки, но не сохраняет функции привязки HTML (ссылок).

Что вам нужно сделать, это определение якоря и стиль его в качестве кнопки:

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

Существует также {{#linkTo}} блок помощник в iron:router, которые вы можете использовать, как это:

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

как у меня есть кнопки начальной загрузки в моем 'layout.html', которые успешно запускают маршруты? – redress

+0

Если вы не прослушиваете события click на ваших тегах 'button' или' div' и не используете Router.go' для имитации цели якоря (вы не хотите этого BTW), это невозможно. – saimeunt

+0

большое спасибо за ответ – redress

Смежные вопросы