Vue.js 是一个非常流行的前端框架,用于构建用户界面和单页应用程序。在这个教程中,我们将学习如何使用 Vue.js 创建一个简单的 Todo List 应用程序。

创建项目

首先,你需要创建一个新的 Vue 项目。你可以使用 Vue CLI 来快速开始:

vue create vue-todo-list

组件结构

我们的 Todo List 应用程序将包含以下组件:

  • App.vue:主组件,包含整个应用的逻辑和结构。
  • TodoInput.vue:用于添加新任务的组件。
  • TodoList.vue:显示任务列表的组件。

TodoInput 组件

首先,我们来创建 TodoInput.vue 组件,它将允许用户输入新的任务。

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

<script>
export default {
  data() {
    return {
      newTodo: ''
    };
  },
  methods: {
    addTodo() {
      this.$emit('add-todo', this.newTodo);
      this.newTodo = '';
    }
  }
};
</script>

TodoList 组件

接下来,我们创建 TodoList.vue 组件,用于显示任务列表。

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

<script>
export default {
  props: {
    todos: Array
  },
  methods: {
    removeTodo(index) {
      this.$emit('remove-todo', index);
    }
  }
};
</script>

App.vue 组件

最后,我们修改 App.vue 组件,将其作为整个应用的入口。

<template>
  <div id="app">
    <todo-input @add-todo="addTodo"></todo-input>
    <todo-list :todos="todos" @remove-todo="removeTodo"></todo-list>
  </div>
</template>

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

export default {
  components: {
    TodoInput,
    TodoList
  },
  data() {
    return {
      todos: []
    };
  },
  methods: {
    addTodo(newTodo) {
      this.todos.push(newTodo);
    },
    removeTodo(index) {
      this.todos.splice(index, 1);
    }
  }
};
</script>

<style>
/* 添加一些简单的样式 */
#app {
  max-width: 600px;
  margin: 0 auto;
  padding: 20px;
}
ul {
  list-style: none;
  padding: 0;
}
</style>

扩展阅读

想了解更多关于 Vue.js 的知识?请访问我们的 Vue.js 教程

Vue.js Logo