$mol
搜索
⌘ K
文档
演练场
对比
生态系统
关于
ZH
食谱
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 代码——改一下名字就能用。
双向绑定的输入框
无需接线任何处理器,就让输入框和派生值保持同步:
<
=
>
双向绑定,任何读取该值的计算属性都会自动更新。
1
$my_greeter
$mol_view
2
sub
/
3
<=
Name
$mol_string
4
value
?
<=>
name
?
5
<=
Hello
$mol_view
6
sub
/
<=
greeting
\
1
namespace
$
.
$$
{
2
export class
$my_greeter
extends
$
.
$my_greeter
{
3
@ $mol_mem
name
(
next
?
:
string
)
{
return
next
?
?
''
}
4
5
@ $mol_mem
greeting
(
)
{
6
return
this
.name
(
)
?
`Hello, ${ this.name() }!`
:
'Type your name'
7
}
8
}
9
}
可增删的列表
把集合保存在响应式属性里,并在动作中以不可变方式重写它。带键的
Row
*
为每个条目渲染一行——得益于
虚拟化渲染
——只有可见的行才会被构建。
1
$my_todo
$mol_view
2
draft
?
\
3
items
/
4
sub
/
5
<=
Input
$mol_string
6
value
?
<=>
draft
?
7
hint
\New item
8
<=
Add
$mol_button_major
9
click
?
<=>
add
?
10
sub
/
<=
add_label
\Add
11
<=
List
$mol_list
12
rows
<=
item_rows
/
13
Row
*
$mol_row
14
sub
/
15
<=
Label
*
$mol_view
16
sub
/
<=
item_title
*
\
17
<=
Delete
*
$mol_button_minor
18
click
?
<=>
delete
*
?
19
sub
/
<=
delete_label
\✕
1
namespace
$
.
$$
{
2
export class
$my_todo
extends
$
.
$my_todo
{
3
@ $mol_mem
draft
(
next
?
:
string
)
{
return
next
?
?
''
}
4
@ $mol_mem
items
(
next
?
:
readonly
string
[
]
)
{
return
next
?
?
[
]
}
5
6
@ $mol_action
add
(
)
{
7
const
title
=
this
.draft
(
)
.trim
(
)
8
if
(
!
title
)
return
9
this
.items
(
[
.
.
.
this
.items
(
)
,
title
]
)
10
this
.draft
(
''
)
11
}
12
13
@ $mol_action
delete
(
id
:
number
)
{
14
this
.items
(
this
.items
(
)
.filter
(
(
_
,
i
)
=
>
i
!
=
=
id
)
)
15
}
16
17
item_title
(
id
:
number
)
{
return
this
.items
(
)
[
id
]
}
18
19
item_rows
(
)
{
20
return
this
.items
(
)
.map
(
(
_
,
id
)
=
>
this
.Row
(
id
)
)
21
}
22
}
23
}
在 GitHub 上编辑此页
这有帮助吗?
是
否
上一页
来自 React、Vue 和 Svelte
下一页
插件
本页内容
双向绑定的输入框
可增删的列表
带加载与错误状态的数据获取
持久化本地状态
读写路由参数
添加自动的浅色/深色主题
下一步
Type to search the documentation.