$mol
検索
⌘ K
ドキュメント
プレイグラウンド
比較
エコシステム
概要
JA
ルーティング
Getting Started
はじめに
メンタルモデル
はじめかた
TypeScript から view.tree へ
プロジェクト構成
ツール
Essentials
インストール
ビュー
状態とリアクティビティ
ルーティング
レンダリング
テスト
デプロイ
トラブルシューティング
Data
データ取得
データスキーマ
Giper Baza
More
ショーケース
React、Vue、Svelte から
クックブック
Advanced
プラグイン
モジュールのメタデータ
オフライン
ゴーストビュー
About
よくある質問
チーム
リリース
API
$mol_button_major
$mol_button_minor
$mol_string
$mol_number
$mol_text
$mol_paragraph
$mol_list
$mol_row
$mol_link
$mol_check
$mol_switch
$mol_select
$mol_scroll
$mol_page
$mol_pick
ルーティング
$mol のルーティングは別個のライブラリではありません——URL はリアクティブな状態のもう一つの断片にすぎません。読み書きすれば、ビューはどんなセルに対しても反応するのと同じように反応します。戻るボタン、ディープリンク、共有可能な URL はすべて無料でついてきます。
状態としての URL
$mol_state_arg
は URL パラメータをリアクティブな値として公開します。そのひとつをプロパティに束ねれば、アドレスバーが唯一の信頼できる情報源になります。
1
namespace
$
.
$$
{
2
export class
$my_app
extends
$
.
$my_app
{
3
@ $mol_mem
4
page
(
next
?
:
string
)
{
5
return
$mol_state_arg
.value
(
'page'
,
next
)
?
?
'home'
6
}
7
}
8
}
page
(
)
を読むと現在の値が返り、
page
(
'about'
)
を呼ぶと遷移します。
page
(
)
を読むものはすべて変化時に再描画されます——ブラウザの戻るボタンも含め、セルはあなたのために更新されます。
画面の切り替え
ルーティングされた値をただの
switch
と組み合わせて、何を描画するかを選びます。ビューは
遅延
なので、表示しない画面は決して構築されません。
1
@ $mol_mem
2
body_content
(
)
{
3
switch
(
this
.page
(
)
)
{
4
case
'about'
:
return
[
this
.About
(
)
]
5
case
'docs'
:
return
[
this
.Docs
(
)
]
6
default:
return
[
this
.Home
(
)
]
7
}
8
}
引数を設定するリンク
view
.
tree
では、リンクが URL 引数を宣言的に設定できます——クリックすればハンドラーなしで遷移します。
1
<=
About_link
$mol_link
2
arg
*
3
page
\about
4
sub
/
<=
about_label
\About
$mol_link
は引数が現在の URL と一致すると自らをアクティブ(
mol_link_current
)と印付けるので、現在のページを強調するのに余分な状態は要りません。
複数のパラメータ
引数は互いに独立しているので、画面は複数の引数で同時にルーティングできます。まさにこのドキュメントサイトは
section
と
page
の両方でルーティングしています。
1
<=
Guide_link
$mol_link
2
arg
*
3
section
\docs
4
page
\views
各キーは URL を通じて往復するので、あらゆるビューは構造上、共有可能でブックマーク可能です。ある引数を設定しても他はそのまま残るので、ディープリンク——特定のセクション
と
ページ
と
アンカー——は、気にかけるキーを設定するだけの話になります。
URL に入れるべきでない状態
すべての状態がアドレスバーに属するわけではありません。ローカルに保持したいがリンクを汚したくない値——折りたたんだサイドバー、下書き——には
$mol_state_local
を使います。同じゲッター/セッターの形で
localStorage
に保存します。
1
@ $mol_mem
2
sidebar_open
(
next
?
:
boolean
)
{
3
return
$mol_state_local
.value
(
'sidebar_open'
,
next
)
?
?
false
4
}
GitHub でこのページを編集
役に立ちましたか?
はい
いいえ
前へ
状態とリアクティビティ
次へ
レンダリング
このページの内容
状態としての URL
画面の切り替え
引数を設定するリンク
複数のパラメータ
URL に入れるべきでない状態
次へ
Type to search the documentation.