创建一个小型Angular 2应用程序(一款名为AbyssRium的精彩游戏的计算器),我试图重用显示元素列表的简单组件的代码。我希望这些组件只显示元素的子集(按组过滤)。
我不确定是否可以使用RouteConfig(传递参数)来做到这一点,但这将是一个不错的选择。我试图理解'路线'文档(here和here)但我看不到任何明确的引用(现在正在使用Resolve,但还没有结果)。我正在寻找这样的事情:
@RouteConfig([
{path: '/corals', name: 'Corals', component: ItemsList, data:{group:'coral'}, useAsDefault: true},
{path: '/fishes', name: 'Fishes', component: ItemsList, data:{group:'fish'}},
])
我还尝试继承模块(ItemsList - > ItemsCoralList& ItemsFishList),并在构造函数中初始化类(this.group =" coral"),但出现了大量的编译错误:
无法解决' xxx'。确保它们都有有效的类型或注释。
知道如何在不复制所有代码两次的情况下进行操作吗?
此处的代码位于Plunker
答案 0 :(得分:2)
您可以使用:
{path: '/:group', component: ItemsList}
并通过路由器访问
constructor(route: ActivatedRoute) {
this.route.params.subscribe(params => params.group)
}
注意:这是路由器3.x语法,它可能不会开箱即用 - 你应该升级到最终......