欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue3組合式API實現todo列表效果

 更新時間:2024年08月09日 09:21:54   作者:遇見小美好  
這篇文章主要介紹了vue3組合式API實現todo列表,下面用組合式?API的寫法,實現一個可新增、刪除的todo列表效果,需要的朋友可以參考下

今天的例子是使用vue3的一個新 API:computed()。它可以讓我們創(chuàng)建一個計算屬性 ref,這個 ref 會動態(tài)地根據其他響應式數據源來計算其 .value。計算屬性會自動跟蹤其計算中所使用的到的其他響應式狀態(tài),并將它們收集為自己的依賴。計算結果會被緩存,并只有在其依賴發(fā)生改變時才會被自動更新。下面用組合式 API的寫法,實現一個可新增、刪除的todo列表效果如下:

ToDo列表效果如下。

隱藏已完成todo效果:

新增一個【運動】todo效果:

該功能的實現:在vue3項目中創(chuàng)建一個todoList.vue文件,完整代碼如下:

(樣式有點丑,自己按需調整吧??)

<script setup>
import { ref, computed } from 'vue'
let id = 0
const newTodo = ref('')
const hideCompleted = ref(false)
const todos = ref([
  { id: id++, text: '吃飯', done: true },
  { id: id++, text: '睡覺', done: true },
  { id: id++, text: '學習', done: false }
])
const filteredTodos = computed(() => {
  return hideCompleted.value
    ? todos.value.filter((t) => !t.done)
    : todos.value
})
function addTodo() {
  todos.value.push({ id: id++, text: newTodo.value, done: false })
  newTodo.value = ''
}
function removeTodo(todo) {
  todos.value = todos.value.filter((t) => t !== todo)
}
</script>
<template>
  <form @submit.prevent="addTodo">
    <input v-model="newTodo" required placeholder="new todo">
    <button>Add Todo</button>
  </form>
  <ul>
    <li v-for="todo in filteredTodos" :key="todo.id">
      <input type="checkbox" v-model="todo.done">
      <span :class="{ done: todo.done }">{{ todo.text }}</span>
      <button @click="removeTodo(todo)">X</button>
    </li>
  </ul>
  <button @click="hideCompleted = !hideCompleted">
    {{ hideCompleted ? 'Show all' : 'Hide completed' }}
  </button>
</template>
<style>
.done {
  text-decoration: line-through;
}
</style>

到此這篇關于vue3組合式API實現todo列表的文章就介紹到這了,更多相關vue3 todo列表內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue內容分發(fā)slot(全面解析)

    Vue內容分發(fā)slot(全面解析)

    下面小編就為大家?guī)硪黄猇ue內容分發(fā)slot(全面解析)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • vue實現鼠標經過動畫

    vue實現鼠標經過動畫

    這篇文章主要為大家詳細介紹了vue實現鼠標經過動畫的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • vue ssr+koa2構建服務端渲染的示例代碼

    vue ssr+koa2構建服務端渲染的示例代碼

    這篇文章主要介紹了vue ssr+koa2構建服務端渲染的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • vue中如何解除數據之間的雙向綁定

    vue中如何解除數據之間的雙向綁定

    這篇文章主要介紹了vue中如何解除數據之間的雙向綁定,具有很好的參考價值,希望對
    2022-09-09
  • Vue3配置代理后頁面500/404問題

    Vue3配置代理后頁面500/404問題

    這篇文章主要介紹了Vue3配置代理后頁面500/404問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • vue中的mvvm模式講解

    vue中的mvvm模式講解

    今天小編就為大家分享一篇關于vue中的mvvm模式講解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 解決Vue數據更新了但頁面沒有更新的問題

    解決Vue數據更新了但頁面沒有更新的問題

    在vue項目中,有些我們會遇到修改完數據,但是視圖卻沒有更新的情況,具體的場景不一樣,解決問題的方法也不一樣,在網上看了很多文章,在此總結匯總一下,需要的朋友可以參考下
    2023-08-08
  • 詳解vue3+quasar彈窗的幾種方式

    詳解vue3+quasar彈窗的幾種方式

    本文主要介紹了vue3+quasar彈窗的幾種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • vue使用splice()刪除數組中的一個數據 彈出窗口提示問題

    vue使用splice()刪除數組中的一個數據 彈出窗口提示問題

    這篇文章主要介紹了vue使用splice()刪除數組中的一個數據 彈出窗口提示問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • vue中ts無法識別引入的vue文件,提示找不到xxx.vue模塊的解決

    vue中ts無法識別引入的vue文件,提示找不到xxx.vue模塊的解決

    這篇文章主要介紹了vue中ts無法識別引入的vue文件,提示找不到xxx.vue模塊的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09

最新評論