我有一个导航栏小部件,可以生成顶级导航的链接。
当这组页面用于联盟领导者时,铁路由器路径看起来像:
'/alliance/:allianceId/players'
对于常规玩家看常规玩家导航栏中的铁路由器路径如下:
'/player/:playerId/inventory'
我希望导航栏不关心路由参数是什么。我希望导航栏模板只取一个值映射
<template name="navbar">
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation"> <!-- -->
<ul class="admin-tabs">
{{#each routes}}
<li class="{{tabActiveClass}}"><a href="{{pathFor pageName data=data}}">
<i class="glyphicon {{additionalClass}}"></i> {{displayName}}</a>
</li>
{{/each}}
<li>
{{> loginButtons}}
</li>
</ul>
</nav>
</template>
使用
_.extend(Template.navbar, {
...
data: function() {
var routeController = Router.current(true);
if ( routeController == null){
return void(0);
} else {
debugger;
return routeController.params;
}
},
...
});
但是,这不起作用。有没有人建议如何解决这个问题?
答案 0 :(得分:0)
我相信你应该包装你的代码:
{{#with data}}
...
{{/with}}
或使用params=data
代替data=data
。