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

效果:

相关推荐
GISer_Jing2 分钟前
React基础知识回顾详解
前端·react.js·前端框架
键.6 分钟前
react-bn-面试
javascript·react.js·ecmascript
阿正的梦工坊17 分钟前
深入解析 Chrome 浏览器的多进程架构:标签页是进程还是线程?(中英双语)
linux·服务器·前端·chrome·架构·unix
无限大.24 分钟前
前端知识速记--CSS篇:display
前端·css
滚雪球~31 分钟前
el-button 中icon在文字前和在文字后的写法
前端
prince_zxill1 小时前
WebSocket 实时通信详解:原理、应用与实践
javascript·网络·websocket·网络协议
小乌龟快跑2 小时前
React 设计实现一个支持动态插槽的Layout组件
前端·面试
打野赵怀真2 小时前
行内元素和块级元素有什么区别,如何相互转换?
前端·javascript
学问小小谢3 小时前
第21节课:前端构建工具—自动化与模块化的利器
运维·前端·学习·计算机·自动化·电脑·硬件工程
Orange3015115 小时前
深入剖析Electron的原理
前端·javascript·electron