| 
									
										
										
										
											2016-04-16 04:20:35 +08:00
										 |  |  | <!doctype html> | 
					
						
							|  |  |  | <html data-framework="vue"> | 
					
						
							| 
									
										
										
										
											2016-10-14 21:27:54 +08:00
										 |  |  |   <head> | 
					
						
							|  |  |  |     <meta charset="utf-8"> | 
					
						
							|  |  |  |     <title>Vue.js • TodoMVC</title> | 
					
						
							| 
									
										
										
										
											2022-05-20 18:21:53 +08:00
										 |  |  |     <link rel="stylesheet" href="../../../node_modules/todomvc-app-css/index.css"> | 
					
						
							| 
									
										
										
										
											2016-10-14 21:27:54 +08:00
										 |  |  |     <style>[v-cloak] { display: none; }</style> | 
					
						
							|  |  |  |   </head> | 
					
						
							|  |  |  |   <body> | 
					
						
							|  |  |  |     <section class="todoapp"> | 
					
						
							|  |  |  |       <header class="header"> | 
					
						
							|  |  |  |         <h1>todos</h1> | 
					
						
							|  |  |  |         <input class="new-todo" | 
					
						
							|  |  |  |           autofocus autocomplete="off" | 
					
						
							|  |  |  |           placeholder="What needs to be done?" | 
					
						
							|  |  |  |           v-model="newTodo" | 
					
						
							| 
									
										
										
										
											2018-12-12 05:58:18 +08:00
										 |  |  |           @keyup.enter="addTodo"> | 
					
						
							| 
									
										
										
										
											2016-10-14 21:27:54 +08:00
										 |  |  |       </header> | 
					
						
							|  |  |  |       <section class="main" v-show="todos.length" v-cloak> | 
					
						
							| 
									
										
										
										
											2022-05-20 18:21:53 +08:00
										 |  |  |         <input id="toggle-all" class="toggle-all" type="checkbox" v-model="allDone"> | 
					
						
							|  |  |  |         <label for="toggle-all">Mark all as complete</label> | 
					
						
							| 
									
										
										
										
											2016-10-14 21:27:54 +08:00
										 |  |  |         <ul class="todo-list"> | 
					
						
							|  |  |  |           <li v-for="todo in filteredTodos" | 
					
						
							|  |  |  |             class="todo" | 
					
						
							|  |  |  |             :key="todo.id" | 
					
						
							|  |  |  |             :class="{ completed: todo.completed, editing: todo == editedTodo }"> | 
					
						
							|  |  |  |             <div class="view"> | 
					
						
							|  |  |  |               <input class="toggle" type="checkbox" v-model="todo.completed"> | 
					
						
							|  |  |  |               <label @dblclick="editTodo(todo)">{{ todo.title }}</label> | 
					
						
							|  |  |  |               <button class="destroy" @click="removeTodo(todo)"></button> | 
					
						
							|  |  |  |             </div> | 
					
						
							|  |  |  |             <input class="edit" type="text" | 
					
						
							|  |  |  |               v-model="todo.title" | 
					
						
							|  |  |  |               v-todo-focus="todo == editedTodo" | 
					
						
							|  |  |  |               @blur="doneEdit(todo)" | 
					
						
							| 
									
										
										
										
											2018-12-12 05:58:18 +08:00
										 |  |  |               @keyup.enter="doneEdit(todo)" | 
					
						
							| 
									
										
										
										
											2016-10-14 21:27:54 +08:00
										 |  |  |               @keyup.esc="cancelEdit(todo)"> | 
					
						
							|  |  |  |           </li> | 
					
						
							|  |  |  |         </ul> | 
					
						
							|  |  |  |       </section> | 
					
						
							|  |  |  |       <footer class="footer" v-show="todos.length" v-cloak> | 
					
						
							|  |  |  |         <span class="todo-count"> | 
					
						
							|  |  |  |           <strong>{{ remaining }}</strong> {{ remaining | pluralize }} left | 
					
						
							|  |  |  |         </span> | 
					
						
							|  |  |  |         <ul class="filters"> | 
					
						
							|  |  |  |           <li><a href="#/all" :class="{ selected: visibility == 'all' }">All</a></li> | 
					
						
							|  |  |  |           <li><a href="#/active" :class="{ selected: visibility == 'active' }">Active</a></li> | 
					
						
							|  |  |  |           <li><a href="#/completed" :class="{ selected: visibility == 'completed' }">Completed</a></li> | 
					
						
							|  |  |  |         </ul> | 
					
						
							|  |  |  |         <button class="clear-completed" @click="removeCompleted" v-show="todos.length > remaining"> | 
					
						
							|  |  |  |           Clear completed | 
					
						
							|  |  |  |         </button> | 
					
						
							|  |  |  |       </footer> | 
					
						
							|  |  |  |     </section> | 
					
						
							|  |  |  |     <footer class="info"> | 
					
						
							|  |  |  |       <p>Double-click to edit a todo</p> | 
					
						
							| 
									
										
										
										
											2022-12-27 17:19:37 +08:00
										 |  |  |       <p>Written by <a href="https://evanyou.me">Evan You</a></p> | 
					
						
							|  |  |  |       <p>Part of <a href="https://todomvc.com">TodoMVC</a></p> | 
					
						
							| 
									
										
										
										
											2016-10-14 21:27:54 +08:00
										 |  |  |     </footer> | 
					
						
							| 
									
										
										
										
											2016-04-16 04:20:35 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-14 21:27:54 +08:00
										 |  |  |     <script> | 
					
						
							|  |  |  |     // for testing | 
					
						
							|  |  |  |     if (navigator.userAgent.indexOf('PhantomJS') > -1) localStorage.clear() | 
					
						
							|  |  |  |     </script> | 
					
						
							|  |  |  |     <!-- Delete ".min" for console warnings in development --> | 
					
						
							| 
									
										
										
										
											2022-05-20 18:21:53 +08:00
										 |  |  |     <script src="../../../dist/vue.min.js"></script> | 
					
						
							| 
									
										
										
										
											2016-10-14 21:27:54 +08:00
										 |  |  |     <script src="app.js"></script> | 
					
						
							|  |  |  |   </body> | 
					
						
							| 
									
										
										
										
											2016-04-16 04:20:35 +08:00
										 |  |  | </html> |