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探索家1 小时前
低空智航平台技术架构深度解析:如何用AI +空域网格破解黑飞与安全管控难题
大数据·服务器·前端·数据库·人工智能·安全·架构
gnip2 小时前
前端实现自动检测项目部署更新
前端
John_ToDebug2 小时前
JS 与 C++ 双向通信实战:基于 WebHostViewListener 的消息处理机制
前端·c++·chrome
gnip3 小时前
监听设备网络状态
前端·javascript
As33100104 小时前
Chrome 插件开发实战:打造高效浏览器扩展
前端·chrome
xrkhy4 小时前
nvm安装详细教程(卸载旧的nodejs,安装nvm、node、npm、cnpm、yarn及环境变量配置)
前端·npm·node.js
IT毕设实战小研4 小时前
基于SpringBoot的救援物资管理系统 受灾应急物资管理系统 物资管理小程序
java·开发语言·vue.js·spring boot·小程序·毕业设计·课程设计
德育处主任5 小时前
p5.js 3D盒子的基础用法
前端·数据可视化·canvas
前端的阶梯5 小时前
为何我的figma-developer-mcp不可用?
前端
weixin_456904276 小时前
Vue3入口文件main.js解析
前端·javascript·vue.js