Как исправить FlowRouter.getParam, чтобы он был «неопределенным» - PullRequest
0 голосов
/ 01 мая 2019

Я добавляю новую страницу на сайт и копирую код, который уже существует и в данный момент работает на сайте.Почему FlowRouter.getParam появляется неопределенным, когда он работает везде?

client / JobInvoice.js

import { Invoices } from '../../../imports/api/Invoice/Invoice';

Template.InvoicePage.onCreated(function(){
  const user = FlowRouter.getParam('_id'); 
  console.log(user);

  this.subscribe('invoices', user);
});

lib / router.js

Accounts.onLogout(function(){
    FlowRouter.go('home');
});

FlowRouter.notFound = {
    action: function() {
        FlowRouter.go('/404');
}
};
const loggedIn = FlowRouter.group({
    prefix: '/secure'
});

loggedIn.route( '/invoice', {
    name: 'invoice',
    action() {
        BlazeLayout.render('FullWithHeader', {main: 
'InvoicePage'});
    }
});

Чтоя скучаю?

Ответы [ 2 ]

0 голосов
/ 25 июля 2019

Вот что я в итоге сделал, и это работает.

loggedIn.route( '/invoice/:id', {
name: 'invoice',
action() {
    BlazeLayout.render('FullWithHeader', {main: 'InvoicePage'});
}
});
0 голосов
/ 02 мая 2019

FlowRouter позволяет вам определять маршруты с динамическими атрибутами ( path-to-regexp ), которые часто представляют идентификаторы документов или другие динамические атрибуты.

Например

FlowRouter.route('/invoice/:docId', { ... })

будет определять маршрут, соответствующий шаблону, например /invoice/9a23bf3uiui3big, и вы обычно используете его для визуализации шаблонов для отдельных документов.

Теперь, если вы хотите получить доступ к идентификатору документа как param docId внутри соответствующего шаблона, вы должны использовать FlowRouter.getParam('docId'), и он вернется для вышеуказанного маршрута 9a23bf3uiui3big.

Поскольку в определениях вашего маршрута отсутствует динамическое свойство, параметр FlowRouter.getParam.

не может быть получен.

Возможное исправление будет

loggedIn.route( '/invoice/:_id', {
    name: 'invoice',
    action() {
        BlazeLayout.render('FullWithHeader', {main: 
'InvoicePage'});
    }
});

для доступа к нему так же, как и для других шаблонов.

Показания

https://github.com/kadirahq/flow-router#flowroutergetparamparamname

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...