Вы, вероятно, захотите использовать маршрутизатор, чтобы заботиться о путях и отображать определенные шаблоны для разных путей. Для этого лучше всего подходит пакет iron-router. Если вы еще не используете его, я очень рекомендую его.
После того, как вы используете iron-router, получение строк запроса и параметров URL становится очень простым. Вы можете увидеть раздел документации здесь: https://github.com/iron-meteor/iron-router/blob/devel/Guide.md#route-parameters
Для примера, который вы привели, маршрут будет выглядеть примерно так:
Router.map(function () {
this.route('home', {
path: '/',
template: 'task_app'
data: function () {
// the data function is an example where this.params is available
// we can access params using this.params
// see the below paths that would match this route
var params = this.params;
// we can access query string params using this.params.query
var queryStringParams = this.params.query;
// query params are added to the 'query' object on this.params.
// given a browser path of: '/?task_name=abcd1234
// this.params.query.task_name => 'abcd1234'
return Tasks.findOne({task_name: this.params.query.task_name});
}
});
});
Это создаст маршрут, который будет отображать шаблон «task_app» с контекстом данных первой задачи, который соответствует имени задачи.
Вы также можете получить доступ к параметрам URL-адреса и другой информации о маршруте из помощников шаблона или других функций, используя Router.current() для получения текущего маршрута. Так, например, в помощнике вы можете использовать Router.current().params.query.task_name
для получения имени текущей задачи. Router.current() является реактивным элементом, поэтому, если он используется в реактивном вычислении, вычисление будет перезапущено при внесении любых изменений в маршрут.
person
Dsyko
schedule
02.03.2014