如何在不绑定组件路径的情况下在angular2中进行路由?

时间:2015-09-22 19:26:06

标签: angular

上下文:我正在尝试将路由添加到angular2的TodoMVC实现中: https://github.com/ng2-dart-samples/todomvc

angular2的官方todomvc还没有路由,所以这没有帮助:https://github.com/tastejs/todomvc/tree/gh-pages/examples/angular2

我一直在研究其他一些角度2路由示例。我理解他们将一些路径绑定到组件类的示例。但我想使用路由,主要过滤一个todolist中的一些元素,我不想将它绑定到一个完整的组件。所以我的问题是,这可能吗?

我可以用一点点hacky的方式实现它:

@RouteConfig(const [
  const Route(path: '/', component: TodoComponent, as: 'all'),
  const Route(path: '/active', component: TodoComponent, as: 'active'),
  const Route(path: '/completed', component: TodoComponent, as: 'completed'),
])
class App {}

然后监听子组件中的更改:

class TodoComponent {
  Router router;
  String filter;
  TodoStore todoStore;

  TodoComponent(this.todoStore, this.router) {
    router.parent.subscribe((String value) => filter = value);
  }
}

我希望有更直接的方法来做到这一点。例如,一些代码如下:

@RouteConfig(const [
  const Route(path: '/'),
  const Route(path: '/active'),
  const Route(path: '/completed'),
])
class TodoComponent {
  Router router;
  String filter;
  TodoStore todoStore;

  TodoComponent(this.todoStore, this.router) {
    router.subscribe((String value) => filter = value);
  }
}

但这不起作用。任何其他选择。或者这样的事情还没有实现呢?

0 个答案:

没有答案