1. <div id="app">
    2. <input type="text" v-model="keyword" @keyup="handleInput">
    3. <h1>进行中 <span>{{lists.length-isEnd}}</span></h1>
    4. <div v-for="(item,index) of lists">
    5. <p v-if="!item.checked"><input type="checkbox" v-model="item.checked">
    6. <span>{{item.val}}</span>
    7. <button>删除</button>
    8. </p>
    9. </div>
    10. <h1>已完成 {{isEnd}}</h1>
    11. <div v-for="(item,index) of lists">
    12. <p v-if="item.checked"><input type="checkbox" v-model="item.checked">
    13. <span>{{item.val}}</span>
    14. <button>删除</button>
    15. </p>
    16. </div>
    17. </div>
    18. <script>
    19. new Vue({
    20. el:"#app",
    21. data(){
    22. return {
    23. keyword:"",
    24. lists:[],
    25. isEnd:""
    26. }
    27. },
    28. methods:{
    29. handleInput(event){
    30. if(event.keyCode == 13){
    31. var keyword = this.keyword;
    32. this.lists.push({val:keyword,checked:false})
    33. this.keyword= ""
    34. }
    35. }
    36. },
    37. watch:{
    38. lists:{
    39. handler(val){
    40. var newList = val.filter(item=>{
    41. return item.checked
    42. })
    43. console.log(newList)
    44. this.isEnd = newList.length
    45. },
    46. deep:true
    47. }
    48. }
    49. })
    50. </script>