Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
前端资源
Vue3.0 Demo
提交
3eba41d0
V
Vue3.0 Demo
项目概览
前端资源
/
Vue3.0 Demo
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
Vue3.0 Demo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
3eba41d0
编写于
6月 06, 2022
作者:
S
sad.wang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat:computed atrributes in Composition API demo
上级
e895f63c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
28 addition
and
7 deletion
+28
-7
src/components/TodoList.vue
src/components/TodoList.vue
+28
-7
未找到文件。
src/components/TodoList.vue
浏览文件 @
3eba41d0
<
script
setup
>
import
{
ref
}
from
'
vue
'
import
{
computed
,
ref
}
from
'
vue
'
let
title
=
ref
(
''
)
let
todoList
=
ref
([
...
...
@@ -15,14 +15,35 @@
})
title
.
value
=
''
}
function
clear
()
{
todoList
.
value
=
todoList
.
value
.
filter
((
todoItem
)
=>
!
todoItem
.
done
)
}
let
undoneCount
=
computed
(()
=>
{
return
todoList
.
value
.
filter
((
todoItem
)
=>
!
todoItem
.
done
).
length
})
let
all
=
computed
(()
=>
todoList
.
value
.
length
)
let
allDone
=
computed
({
get
:
function
()
{
return
undoneCount
.
value
===
0
},
set
:
function
(
value
)
{
todoList
.
value
.
forEach
((
todoItem
)
=>
(
todoItem
.
done
=
value
))
},
})
</
script
>
<
template
>
<input
v-model=
"title"
type=
"text"
@
keydown.enter=
"addTodo"
/>
<ul
v-if=
"todoList.length"
>
<li
v-for=
"todoItem in todoList"
:key=
"todoItem.title"
>
<input
v-model=
"todoList.done"
type=
"checkbox"
/>
<span
:class=
"
{ done: todoList.done }">
{{
todoItem
.
title
}}
</span>
</li>
</ul>
<button
v-if=
"undoneCount
<
all
"
@
click=
"clear"
>
清空完成选项
</button>
<template
v-if=
"todoList.length"
>
<ul>
<li
v-for=
"todoItem in todoList"
:key=
"todoItem.title"
>
<input
v-model=
"todoItem.done"
type=
"checkbox"
/>
<span
:class=
"
{ done: todoList.done }">
{{
todoItem
.
title
}}
</span>
</li>
</ul>
<div>
全部完成
<input
v-model=
"allDone"
type=
"checkbox"
/></div>
<div>
完成情况
{{
all
-
undoneCount
}}
/
{{
all
}}
</div>
</
template
>
<div
v-else
>
暂无数据
</div>
</template>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录