• todoList.html


    待做的事情

    {{item}} 完成
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    		<style type="text/css">
    			.done .content{
    				text-decoration: line-through;
    			}
    		</style>
    		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
    	</head>
    	<body>
    		<div id="app">
    			<div class="nav">
    				<input type="text" v-model='todoInput' placeholder="请输入你即将要做的事情" @keydown.enter='inputText' name="" id="" value="" />
    			</div>
    			<div class="todo">
    				<h1>待做的事情</h1>
    				<div class="todoItem" v-for='(item,index) in todoList'>
    					<span class="content">{{item}}</span>
    					<span class="btn" @click='done($event,index)'>完成</span>
    				</div>
    			</div>
    			<div class="done">
    				<h1>已完成的事情</h1>
    				<div class="todoItem" v-for='item in doneList'>
    					<span class="content">{{item}}</span>
    				</div>
    			</div>
    			
    		</div>
    		<!--
    			localstorage:永久性的保留,保存是以字符串的形式存储
    			sessionStorage:一个会话期间保留,保存是以字符串的形式存储
    			
    			
    			dotoList:
    			1/输入框的内容跟数据模型进行绑定,(并且查看localstorage是否有之前的数据,如果有那么将其放置进todoList、doneList)
    			2、要设置1个放置待办事项的数据的数组,将每一次数据的变更保留到localstorage
    			3、要设置1个放置已完成事项的数据的数组,将每一次数据的变更保留到localstorage
    			4、交互事件书写(输入框是回车键按下,并且输入框有数据,才进行操作,将输入框的内容,放置到todoList数组里面),将每一次数据的变更保留到localstorage
    		-->
    		<script type="text/javascript">
    			var app = new Vue({
    				el:'#app',
    				data:{
    					todoInput:'',//1/输入框的内容跟数据模型进行绑定
    					todoList:[],//要设置1个放置待办事项的数据的数组
    					doneList:[]//要设置1个放置已完成事项的数据的数组
    				},
    				methods:{
    					inputText:function(e){
    						if(e.key=='Enter'){
    							console.log(e)
    							if(this.todoInput){
    								this.todoList.push(this.todoInput)
    								console.log(this.todoList)
    								localStorage.todoList = JSON.stringify(this.todoList)
    								
    							}
    						}
    						
    					},
    					done:function(e,index){
    						console.log(e)
    						console.log(index)
    						var delItem = this.todoList.splice(index,1)
    						this.doneList.push(delItem[0])
    						localStorage.doneList = JSON.stringify(this.doneList)
    						localStorage.todoList = JSON.stringify(this.todoList)
    						
    					}
    				},
    				mounted:function(){
    					
    					if(localStorage.todoList){
    						this.todoList = JSON.parse(localStorage.todoList)
    						
    					}
    					if(localStorage.doneList){
    						this.doneList = JSON.parse(localStorage.doneList)
    					}
    					
    				}
    			})
    		</script>
    	</body>
    </html>
    

      

    已完成的事情

    {{item}}
  • 相关阅读:
    1021. 从前有座山——java
    1004. 西西弗斯式的命运——java
    1025. 水枪灭火——java
    1020. 分解质因数——java
    1024.排序——C语言
    1024. 排序——java
    1022. Fib数列——java
    1006. 求和游戏——java
    1005. 数独——java
    SpringBoot 升级到 2.1 后,启动程序时控制台不打印 API 的解决方法及一些感想
  • 原文地址:https://www.cnblogs.com/wwthuanyu/p/10554793.html
Copyright © 2020-2023  润新知