2017-08-10 3 views
2

ich com.thoughtworks.binding:route:11.0.0-M4 Bibliothek bin mit dem Routing für die Verwaltung, und bis jetzt war ich das Ding Umsetzung durch die TODO example folgende (erhältlich in Projekt Github):Wie aktive Route binden

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 
}) 

Aber in der Version used, watchHash ist veraltet, und nach doc sollte stattdessen Route.Hash(state).watch() verwendet werden.

So kann die Form wie folgt neu geschrieben werden:

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() 

Aber wie kann ich abrufen (binden) die aktuelle ToDo-Liste, wenn Routenänderungen? Die Var(todolist), die als Argument angegeben wurde, ist nun intern in der Route. Darüber hinaus Route.Hash[] ist ein Binding[Unit], so kann ich Wert wie folgt nicht abrufen: route.bind.xxx.

Fehle ich etwas?

Thanks :)

Antwort

1

route.state.bind.xxx Versuchen.

Siehe Route.Hash.state.

+0

Oh, ja, das habe ich verpasst. Wirklich einfach. Vielen Dank für die schnelle Antwort. – Chris

Verwandte Themen