2

我正在使用com.thoughtworks.binding:route:11.0.0-M4库来管理路由,直到现在我都是按照TODO 示例(在项目 github 中提供)来实现的:

Route.watchHash(currentTodoList)(new Route.Format[TodoList] {
  override def unapply(hashText: String) = todoLists.find(_.hash == window.location.hash)
  override def apply(state: TodoList): String = state.hash
})

但是在使用的版本中,watchHash已被弃用,根据文档,Route.Hash(state).watch()应该改用。

所以,表格可以改写如下:

val route = Route.Hash[TodoList](all /* all todo lists*/)(new Route.Format[TodoList] {
  override def unapply(hashText: String) = todoLists.find(_.hash == window.location.hash)
  override def apply(state: TodoList): String = state.hash
})
route.watch()

但是当路由改变时如何检索(绑定到)当前的待办事项列表?Var(todolist)作为参数给出的那个现在是内部的Route。而且Route.Hash[]是 a Binding[Unit],所以我不能像这样检索值:route.bind.xxx.

我错过了什么吗?

谢谢 :)

4

1 回答 1

1

试试route.state.bind.xxx

请参阅Route.Hash.state

于 2017-08-10T10:22:00.517 回答