2014-10-07 78 views
0

我正在使用iron:[email protected]與流星9.3.1。鐵路路由器:如果放置在「if(Meteor.isClient)」路由不工作「

模板代碼:

<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) {之外,它就開始工作。

這是設計嗎?請指教。

回答

0

這是設計。

IronRouter允許您選擇適用路線的地點:clientserver。 默認情況下,所有路由都附加到客戶端,但您可以選擇將路由應用到服務器端:

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