我正在尝试动态映射路线。 我在数据库中有一个文档,其中包含以下类别:谎言。
{
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);
}
});
我想在数据库中的菜单文档中为每个类别设置一个特殊路径。
答案 0 :(得分:1)
由于没有50个声誉,它不允许我发表评论,但我将此作为上述关于活动路线的评论并将活动类添加到<li>
。也许这个包是您正在寻找的:https://atmospherejs.com/zimme/iron-router-active