vue3开发一个todo List

创建新的 Vue 3 项目:

按装vue3的 工具

javascript 复制代码
npm install -g @vue/cli

创建一个新的 Vue 3 项目:

javascript 复制代码
vue create vue3-todolist

进入项目目录:

javascript 复制代码
cd vue3-todolist

代码:

在项目的 src/components 目录下,创建一个新的文件 TodoList.vue,将以下代码复制到这个文件中:

javascript 复制代码
<template>
  <div>
    <h1>任务 例表</h1>

    <div>
      <input v-model="newTodo" @keyup.enter="addTodo" placeholder="增加任务">
      <button @click="addTodo">Add</button>
    </div>

    <ul>
      <li v-for="(todo, index) in todos" :key="index">
        <span>{{ todo.text }}</span>
        <button @click="removeTodo(index)">删除</button>
      </li>
    </ul>
  </div>
</template>

<script>
import { ref } from 'vue';

export default {
  setup() {
    const newTodo = ref('');
    const todos = ref([]);

    const addTodo = () => {
      if (newTodo.value.trim() !== '') {
        todos.value.push({ text: newTodo.value });
        newTodo.value = '';
      }
    };

    const removeTodo = (index) => {
      todos.value.splice(index, 1);
    };

    return {
      newTodo,
      todos,
      addTodo,
      removeTodo
    };
  }
};
</script>

在主应用文件中使用组件:

打开 src/App.vue 文件,将以下代码替换到文件中:

javascript 复制代码
<template>
  <div id="app">
    <TodoList />
  </div>
</template>

<script>
import TodoList from './components/TodoList.vue';

export default {
  components: {
    TodoList
  }
};
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}

button {
  margin-left: 5px;
}
</style>

运行项目:

在终端中运行以下命令:

javascript 复制代码
npm install
npm run serve

效果:

相关推荐
多看书少吃饭1 小时前
Vue + Java + Python 打造企业级 AI 知识库与任务分发系统(RAG架构全解析)
java·vue.js·笔记
~无忧花开~2 小时前
React生命周期全解析
开发语言·前端·javascript·react.js·前端框架·react
哈__2 小时前
ReactNative项目OpenHarmony三方库集成实战:react-native-maps
javascript·react native·react.js
cj81402 小时前
Prompt,Agent,Skill,Mcp分别于langchain有什么关系
前端
SuperEugene2 小时前
Axios + Vue 错误处理规范:中后台项目实战,统一捕获系统 / 业务 / 接口异常|API 与异步请求规范篇
前端·javascript·vue.js·前端框架·axios
行走的陀螺仪2 小时前
手写 Vue3 极简 i18n
前端·javascript·vue.js·国际化·i18n
羽沢312 小时前
一篇简单的STOMP教程QAQ
前端·javascript·stomp
code_Bo3 小时前
使用AI完成Swagger接口类型在前端自动生成的工具
前端·后端·架构
加个鸡腿儿3 小时前
从"包裹器"到"确认按钮"——一个组件的三次重构
前端·vue.js·设计模式