<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
This article shares the specific code of Vue to r...
Online Preview https://jsrun.pro/AafKp/ First loo...
nginx traffic control Rate-limiting is a very use...
There is no doubt that containers have become an ...
When making web pages, you often encounter the pr...
The fd command provides a simple and straightforw...
Preface When using RabbitMQ, if there is no traff...
Public free STUN servers When the SIP terminal us...
For a long time, website development was hampered...
Table of contents 1. Preparation 2. Introduction ...
Bash Initialization Files Interactive login shell...
Mac uses Shell (Terminal) SSH to connect to the r...
1. Installation package preparation VMware-player...
Database transaction isolation level There are 4 ...
The Docker images we usually build are usually la...