【问题标题】:Meteor: how to use different routes for the same templateMeteor:如何为同一个模板使用不同的路由
【发布时间】:2016-04-01 06:10:46
【问题描述】:

我想通过路由器传递一个参数

我一直在努力:

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};
    }
});

但它不起作用

这是我的错误: 错误:名称为“someTemplate”的处理程序已存在。

我该如何解决?

注意:我需要这个“someParam”

【问题讨论】:

标签: javascript meteor iron-router


【解决方案1】:

名称是路线的名称,而不是您要使用的模板。路由名称是每条路由的唯一标识符,非常类似于 url,可用于调用路由而无需使用完整的 url。你想要这样的东西:

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}; 
    } 
});

【讨论】:

    猜你喜欢
    • 2016-05-10
    • 2015-10-27
    • 1970-01-01
    • 1970-01-01
    • 2016-11-19
    • 1970-01-01
    • 1970-01-01
    • 2015-12-30
    • 2014-12-02
    相关资源
    最近更新 更多