用vue.js简单实现todo-list

<template>
  <div>
    <h1 v-text="title"></h1>
    <!--newItem为新加入的计划,将它与输入的文本双向绑定
    回车时调用addNew方法!-->
    <input v-model="newItem" v-on:keyup.enter="addNew">
    <ul>
      <!--将finished属性与item的完成状态绑定,点击item触发Finish方法!-->
      <li v-for="item in items"
          v-bind:class="{finished:item.isFinished}" v-on:click="Finish(item)">
        {{item.label}}
      </li>
    </ul>
  </div>
</template>

<script>
  export default{
    data(){
      return{
        title:'This is a todo list',
        //初始化item裂变和新增裂变
        items:[],
        newItem:''
      }
    },
    methods:{
      //改变item的完成状态
      Finish:function(item){
        item.isFinished = !item.isFinished
      },
      //将新计划push进items数组
      addNew:function(){
        this.items.push({
          label:this.newItem,
          isFinished:false
        })
        //每次只添加一项,所以清空newItem
        this.newItem=''
      }
    }
  }
</script>
<style>
  .finished{
    text-decoration: underline;
  }
</style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值