今天來介紹點VUE-CLI小實做,經典又簡單的todolist,有輸入、刪除、編輯、已完成功能,不過只是單純前端,並沒有串接後端。
主要學習點
1 | <template> |
1 | <script> |
1 | <style> |
透過V-for
來列出我們物件裡面的資料,並透過V-bind
綁定class並與style配合劃掉已完成的事項,非常簡單就做出單純的layout。
這樣的樣子會呈現這樣,單純的輸入與一開始的內容。
新增
接下來我們要輸入文字並添加事項囉!
1 | <input class="addtext" @keyup.enter="Enter" v-model="newlist"/> |
在input的地方加上V-on
鍵盤按下去Enter並觸發Enter事件,然後讓我們輸入的文字綁定到newlist上。
1 | <script> |
script的部分新增newlist字串存的地方,methods裡放入input的Enter點擊事件,按下enter同時把當時輸入的值,push到我們的items裡面,並清空newlist。
這樣就能打完字按下enter並能夠新增事項了!!!!!!!
完成與進行中
接下來我們要透過checkbox來勾選,把勾選的事項變成這樣,所以需要再透過v-for
一起產生checkbox。
1 | <ul> |
並在checked部分利用v-bind
綁定item.isFinished
當為true則是勾選反之,綁定v-on:change
來監測改變狀態時也要改變isFinished的狀態,注意要傳item的值進去這樣function才知道v-for
渲染出來的東西哦。
在methods裡面再加一個endlist function來改變item.isFinished的狀態,這樣我們就能控制事項完成與否啦。
1 | endlist(item){ |
刪除與編輯
既然已經能劃掉完成事項,那就要來個刪除和編輯囉!
所以需要新增兩個按鈕來完成這個事項,還有編輯的時候能修改現在事項的內容。
透過事件傳入index並用splice來完成刪除事項,然後v-if來控制元件的顯示和不顯示,並且再次修改狀態,大概就是個簡單的todolist啦~~
1 | <template> |
1 | <script> |
完成之後長這樣。
github程式碼在這裡