Router を利用してみようと思いAPIマニュアル を眺めるも動かない。
URLが変更されたときに動かない感じ。
APIを表にしてみる。
全体俯瞰すれば見えてくるもんもあるかと思い表にしてみる。
api | description | version |
---|---|---|
riot.route(callback) | URLが変更されると、与えられたcallbackを実行する。 | --- |
riot.route(filter, callback) | URLが変更された際、filterに一致すれば、与えられたcallbackを実行する。 | >= v2.3 |
riot.route(to[, title]) | ブラウザのURLを変更して、riot.route(callback)で登録されたすべてのリスナに通知する。 | --- |
riot.route.create() | 新しいサブ・ルータを返す。 | >= v2.3 |
riot.route.start() | URL変更の検知を開始する。 | --- |
riot.route.stop() | URL変更検知を停止。全てのコールバックをクリアする。 | --- |
subRoute.stop() | サブ・ルータを停止して、全てのコールバックをクリア。 | >= v2.3 |
riot.route.exec(callback) | 現在のURLを調べて、与えられたcallbackをURL変更なしに「その場で」実行する。 | --- (2.3から非推奨) |
riot.route.query() | URLからパラメータを取り出すときに便利な関数。 | >= v2.3 |
riot.route.base(base) | ベースパスを変更する。 | --- |
riot.route.parser(parser) | デフォルトパーサーを独自のものに変更する。 | --- |
これだけ眺めると問題ある感じがしない。
しかし動かない。
サンプルがないか探ってみる。
examples/router-page-switcherがあった。
これが動いたのでこれを手掛りに進められそう。
以下のように riot.compile
で包んでいる。これがないとイカンのかな。
APIマニュアル に書いといてほしいものである。
<script> riot.compile(function() { riot.mount('app') riot.route.start(true) }) </script>
おわり
そもそもルーターが自体がよく理解できていない。
フロント側はまだまだ勉強が必要な様子。