This article example shares the specific code of Vue to implement the simple notepad function for your reference. The specific content is as follows Preview image: The functions are as follows: (1) Enter the task and press Enter to add it to the task list (duplicate tasks cannot be entered) (2) Click Delete to delete the corresponding task. (3) Click Clear and all tasks will be deleted. (4) The total number of tasks is displayed synchronously in the lower left corner The complete code is as follows: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Notepad</title> <style> * { margin: 0; padding: 0; } #todoapp { width: 600px; background-color: rgba(19, 161, 114, 0.63); font-family: sans-serif; } .header>h1 { padding: 20px 0; text-align: center; font-size: 40px; color: whitesmoke; } .newTask { display: block; width: 500px; height: 50px; line-height: 50px; padding-left: 10px; margin: 0 auto; font-size: 20px; outline: none; border: none; } .todolist li { height: 30px; line-height: 30px; padding-left: 15px; margin: 10px 0; font-size: 25px; color: white; } .todolist .item { margin-left: 15px; } .destroy, .clear { width: 50px; height: 30px; float: right; color: white; background-color: transparent; border: none; font-size: 20px; } .footer { width: 600px; height: 30px; padding: 10px 0; vertical-align: middle; } .footer p { display: inline-block; padding-left: 15px; color: white; font-size: 20px; } </style> </head> <body> <section id="todoapp"> <header class="header"> <h1>Notepad</h1> <input type="text" v-model="newItem" class="newTask" placeholder="Please enter the task" @keyup.enter="add"> </header> <section> <ul class="todolist"> <li v-for="(item, index) in list"> <div> <span>{{ index + 1 }}</span> <label class="item">{{ item }}</label> <button class="destroy" @click="del(index)">Delete</button> </div> </li> </ul> </section> <footer class="footer"> <p class="count"> items: {{ list.length }} </p> <button class="clear" @click="clear" v-show="list.length != 0">Clear</button> </footer> </section> <script src="./vue.js"></script> <script> const app = new Vue({ el: "#todoapp", data: { list: [], newItem: "" }, methods: { add() { if (this.newItem == "") { return; } else { if (!this.list.includes(this.newItem)) { this.list.push(this.newItem); this.newItem = ""; } else { alert("Do not add duplicate events!"); this.newItem = ""; } } }, del(index) { this.list.splice(index, 1); }, clear() { this.list = []; } } }) </script> </body> </html> The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
>>: There are text and pictures in the a tag. How to hide the text and only show the picture?
Related article: Beginners learn some HTML tags (1...
Table of contents Introduction Child Process Crea...
This article was originally written by blogger We...
step: 1. Create a new docker-compose.yml file in ...
Effect picture (the border color is too light, pu...
The machines in our LAN can access the external n...
This article shares the specific code of JavaScri...
1. Add a new user Only allow local IP access crea...
Table of contents Message Board Required librarie...
Preface Semicolons in JavaScript are optional, an...
Recently I used MySQL to export table data to an ...
1. Environment and related software Virtual Machi...
Preface The previous article introduced the insta...
1. E-Commerce Icons 2. Icon Sweets 2 3. Mobile Ph...
Generally, learning Java and deploying projects a...