Iron Router: Маршрутите не работят, ако са поставени вътре в if (Meteor.isClient)

Използвам iron:[email protected] с meteor 9.3.1.

Код на шаблона:

<head>
  <title>ironman</title>
</head>

<body>
</body>

<template name="hello">
  <button>Click Me</button>
  <p>You've pressed the button {{counter}} times.</p>
</template>

Javascript код:

if (Meteor.isClient) {
    // counter starts at 0
    Session.setDefault("counter", 0);

    Template.hello.helpers({
        counter: function() {
            return Session.get("counter");
        }
    });

    Template.hello.events({
        'click button': function() {
            // increment the counter when button is clicked
            Session.set("counter", Session.get("counter") + 1);
        }
    });


    Router.route('/', function() {
        this.render('hello');
    });

}

Определеният по-горе маршрут не работи. Въпреки това, ако поставя дефиницията на маршрут извън if (Meteor.isClient) {, тя започва да работи.

Това по дизайн ли е? Моля за съвет.


person Anish Singh    schedule 07.10.2014    source източник


Отговори (1)


Това е по проект.

IronRouter ви позволява да изберете къде да се прилагат маршрутите: client или server. По подразбиране всички маршрути са прикачени към страната на клиента, но можете да изберете да приложите маршрут към страната на сървъра:

Router.route('/item', function () {
  var req = this.request;
  var res = this.response;
  res.end('hello from the server\n');
}, {where: 'server'});
person Kuba Wyrobek    schedule 07.10.2014