带有铁路由器的meteorjs中的动态路由映射

时间:2014-12-08 13:45:46

标签: javascript dynamic meteor iron-router

我正在尝试动态映射路线。 我在数据库中有一个文档,其中包含以下类别:谎言。

{
  name : "menu" , content : 
    [
       {name : "Category-1", permalink : "cat-1", order : 0},
       {name : "Category-2", permalink : "cat-2", order : 0},
       {name : "Category-3", permalink : "cat-3", order : 0},
       {name : "Category-4", permalink : "cat-4", order : 0},
       {name : "Category-5", permalink : "cat-5", order : 0},
    ]
}

我厌倦了做什么: 客户方:

Template.navBar.helpers({
menu  : function () {
    return Elements.findOne({name : "menu"}).content;
},
path : function () {
    permalink = this.permalink;
    Router.map(function () {
        this.route(permalink, {
            path: "/" + permalink + "/",
            template: 'listParent',
            data: function () {
                currentSubs(permalink, 'none', 0);
            }
        })
    });
    return "/" + permalink + "/";
}
});

Serverside启动:

//add menu to the router
var menu = Elements.findOne({name : "menu"}).content;
for (var i = 0; i < menu.length; i++) {
    console.log(menu[i].permalink);
    Router.map(function () {
        this.route(menu[i].permalink, {
            path: "/" + menu[i].permalink + "/",
            template: 'listParent'
        })
    });
}       

在客户端,当我点击每条路线(其中5条路线)时,结果就像我等待5类。

如何在不使用的情况下实现这一目标的任何想法:

this.route('list', {
    path: '/:list/',
    template: 'listParent',
    data: function () {
        list = this.params.list
        currentSubs(list, 'none', 0);
    }
});

我想在数据库中的菜单文档中为每个类别设置一个特殊路径。

1 个答案:

答案 0 :(得分:1)

由于没有50个声誉,它不允许我发表评论,但我将此作为上述关于活动路线的评论并将活动类添加到<li>。也许这个包是您正在寻找的:https://atmospherejs.com/zimme/iron-router-active