В настоящее время я работаю своим путем, хотя «ваше второе приложение для метеорита» и до сих пор наслаждался им. Все, что я создал, работает, но я не понимаю, почему следующее работает, но код в конце этого не делает.Meteor.js Железная Маршрутизация: _id динамическая путаница маршрута
Шаблон
<template name="list">
<ul>
{{#each list}}
<li><a href="/list/{{_id}}">{{name}}</a></li>
{{/each}}
</ul>
</template>
<template name="listPage">
<h2>Tasks: {{name}}</h2>
</template>
Маршрут
Router.route('/list/:_id', {
template: 'listPage',
data: function(){
var currentList = this.params._id;
return Lists.findOne({_id: currentList});
}
});
Это дает ожидаемые результаты. Тем не менее, мне было любопытно, почему следующее не будет работать, поскольку, похоже, это то же самое. Единственные различия с являются следующие:
- изменения Router.route ('списки /: _ ID') в Router.route ('списки/randomParm')
- this.params._id в this.params .randomParm
Шаблон
<template name="list">
<ul>
{{#each list}}
<li><a href="/list/{{_id}}">{{name}}</a></li>
{{/each}}
</ul>
</template>
<template name="listPage">
<h2>Tasks: {{name}}</h2>
</template>
Маршрут
Router.route('/list/randomParm', {
template: 'listPage',
data: function(){
var currentList = this.params.randomParm;
return Lists.findOne({_id: currentList});
}
});
сообщение я получаю:
К сожалению, похоже, что нет ни одного маршрута на стороне клиента или сервера для URL: «http://localhost:3000/list/TGM9dbRRtspyJy7AR.»
Не существует: _id и randomParm с одинаковыми значениями? Идентификатор элементов списка из HTML-ссылок, которые передаются URL-адресам маршрутизации и используются для вызова монгонга? Я не совсем понимаю, как: _id и randomParm отличаются друг от друга, когда я нажимаю один и тот же URL маршрутизации.