待做的事情
{{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}}