खोज…


आयरन राउटर के साथ रूटिंग

आयरन राउटर स्थापित करें

टर्मिनल से:

meteor add iron:router

मूल विन्यास

Router.configure({
    //Any template in your routes will render to the {{> yield}} you put inside your layout template 
    layoutTemplate: 'layout',
    loadingTemplate: 'loading'
});

बिना डेटा के रेंडर

//this is equal to home page
Router.route('/', function (){
    this.render('home')
});

Router.route('/some-route', function () {
    this.render('template-name');
});

डेटा और मापदंडों के साथ रेंडर

Router.route('/items/:_id', function () {
    this.render('itemPage', {
        data: function() {
            return Items.findOne({_id: this.params._id})
        }
    });
});

एक माध्यमिक उपज के लिए प्रस्तुत करना

Router.route('/one-route/route', function() {
    //template 'oneTemplate' has {{> yield 'secondary'}} in HTML
    this.render('oneTemplate');
    
    //this yields to the secondary place
    this.render('anotherTemplate', {
        to: 'secondary'
    });

    //note that you can write a route  for '/one-route' 
    //then another for '/one-route/route' which will function exactly like above.
});

टेम्प्लेट रेंडर करने से पहले डेटा की सदस्यता लें और प्रतीक्षा करें

Router.route('/waiting-first', {
    waitOn: function() {
        //subscribes to a publication 
        //shows loading template until subscription is ready
        return Meteor.subscribe('somePublication')
    },

    action: function() {
        //render like above examples
    }
});

कई प्रकाशनों की सदस्यता लें और टेम्पलेट प्रदान करने से पहले डेटा की प्रतीक्षा करें

Router.route('/waiting-first', {
    waitOn: function() {
        //subscribes to a publication 
        //shows loading template until subscription is ready
        return [Meteor.subscribe('somePublication1'),Meteor.subscribe('somePublication2')];
    },

    action: function() {
        //render like above examples
    }
});

आयरन राउटर के लिए गाइड: http://iron-meteor.github.io/iron-router/

फ़्लो राउटर के साथ

फ्लो राउटर आयरन राउटर की तुलना में अधिक मॉड्यूलर है।

फ़्लो राउटर स्थापित करें

meteor add kadira:flow-router

टेम्पलेट रेंडर करना

विशेष रूप से, आपको अपने रेंडरिंग इंजन के साथ लिंक करने के लिए मैन्युअल रूप से एक लेआउट रेंडरिंग पैकेज जोड़ना होगा:

तब आप गतिशील टेम्प्लेटिंग (ब्लेज़ के मामले में) के माध्यम से प्रस्तुत कर सकते हैं:

<template name="mainLayout">
  {{> Template.dynamic template=area}}
</template>
FlowRouter.route('/blog/:postId', {
  action: function (params) {
    BlazeLayout.render("mainLayout", {
      area: "blog"
    });
  }
});

मानकों और / या क्वेरी के साथ एक टेम्पलेट का प्रतिपादन

मार्ग पर पैरामीटर निर्दिष्ट हैं, जैसे कि आयरन राउटर:

FlowRouter.route("/blog/:catId/:postId", {
  name: "blogPostRoute",
  action: function (params) {
    //...
  }
})

लेकिन मापदंडों को बाल टेम्पलेट के डेटा संदर्भ के रूप में पारित नहीं किया जाता है। इसके बजाय, बाल टेम्पलेट उन्हें पढ़ना चाहिए:

// url: /blog/travel/france?showcomments=yes
var catId = FlowRouter.getParam("catId"); // returns "travel"
var postId = FlowRouter.getParam("postId"); // returns "france"

var color = FlowRouter.getQueryParam("showcomments"); // returns "yes"


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow