2016-03-31 17 views
0

aynı şablon için farklı yollar nasıl kullanılacağı:Meteor: Ben çalışıyorlar</p> <p>yönlendirici tarafından bir param geçirmek istediğiniz

Router.route('/someURL/:id', { 
    name: 'someTemplate', 
    data: function() { 
     var myData = someCollection.findOne({_id:this.params.id}); 
     myData.someParam = true; 
     return myData; 
    } 
}); 
Router.route('/anotherURL', { 
    name: 'someTemplate', 
    data: function() { 
     return {someParam:false}; 
    } 
}); 

ama

Bu işe yaramazsa benim hatam: Hata: 'someTemplate' adında işleyici zaten var.

Bunu nasıl çözebilirim?

Not: Bu "someParam"

+0

Her iki ifadede de doğru olarak değerlendirilen normal ifadeleri kullanın? http://stackoverflow.com/questions/27976879/meteors-iron-router-route-multiple-paths-to-one-template-but-still-dry – Akshay

+0

adı, rotanın adıdır. şablonun adını ayarlamak için "template:" someTemplate "' komutunu kullanın. – MrE

cevap

2

adı güzergahı kullanmak istemiyor şablon için bir isimdir gerekir. Güzergah isimleri, URL’ye benzer bir yol için benzersiz bir tanımlayıcıdır ve tam URL’yi kullanmadan rotayı aramak için kullanılabilir. Şunlar gibidir:

Router.route('/someURL/:id', { 
    name: 'someName', 
    template: 'someTemplate', 
    data: function() { 
     var myData = someCollection.findOne({_id:this.params.id}); 
     myData.someParam = true;  
     return myData; 
    } 
}); 
Router.route('/anotherURL', { 
    name: 'someOtherName', 
    template: 'someTemplate', 
    data: function() { 
     return {someParam:false}; 
    } 
}); 
İlgili konular