<template> <div id="root"> <div class="todo-container"> <div class="todo-wrap"> <Top :received="received" /> <List :todos="todos" :checkTodo="checkTodo" :deleteTodo="deleteTodo" /> <Bottom :todos="todos" :checkAllTodo="checkAllTodo" :clearAllTodo="clearAllTodo" /> </div> </div> </div> </template> <script> import Top from './components/Top.vue' import Bottom from './components/Bottom.vue' import List from './components/List.vue' export default { name: 'App', components: Top, List, Bottom }, data() { return { todos: [{ id: '001', title: 'Eating', done: true }, { id: '002', title: 'Sleep', done: false }, { id: '003', title: 'Playing Beans', done: false }, ] } }, methods: { //Add a todo received(todoObj) { this.todos.unshift(todoObj); }, //Uncheck todo checkTodo(id) { this.todos.forEach((todo) => { //Function bodyif (todo.id === id) todo.done = !todo.done; }) }, //deleteTodo(id) { this.todos = this.todos.filter(todo => todo.id !== id) }, //Select all or deselect all checkAllTodo(done) { this.todos.forEach((todo) => { todo.done = done }) }, // Clear all completed data clearAllTodo() { this.todos = this.todos.filter((todo) => { return !todo.done }) } } } </script> <style lang="css"> /*base*/ body { background: #fff; } .btn { display: inline-block; padding: 4px 12px; margin-bottom: 0; font-size: 14px; line-height: 20px; text-align: center; vertical-align: middle; cursor: pointer; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); border-radius: 4px; } .btn-danger { color: #fff; background-color: #da4f49; border: 1px solid #bd362f; } .btn-danger:hover { color: #fff; background-color: #bd362f; } .btn:focus { outline: none; } .todo-container { width: 600px; margin: 0 auto; } .todo-container .todo-wrap { padding: 10px; border: 1px solid #ddd; border-radius: 5px; } </style> SummarizeThis article ends here. I hope it can be helpful to you. I also hope you can pay more attention to more content on 123WORDPRESS.COM! You may also be interested in:
|
<<: Detailed explanation of flex layout in CSS
>>: Summary of several principles that should be followed in HTML page output
Table of contents Preface Local storage usage sce...
The above article has temporarily concluded my int...
1. Display effect: 2, html structure <div clas...
Table of contents Why do databases need indexes? ...
Table of contents 01 Introduction to InnoDB Repli...
From development to deployment, do it yourself Wh...
Step 1: Use Notepad to open the "my.ini"...
Free points Interviewer : Have you ever used Linu...
vue scaffolding -> vue.cli Quickly create a la...
Let's take a look at my error code first. htm...
I have a server with multiple docker containers d...
#Case: Query employee salary levels SELECT salary...
view: Views in MySQL have many similarities with ...
Table of contents 1. Introduction to Nginx 1. Wha...
As we all know, the web pages, websites or web pag...