美文网首页
vue.js实现简单的待办事项小demo

vue.js实现简单的待办事项小demo

作者: 燃烧星星之火 | 来源:发表于2018-11-06 21:21 被阅读0次

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>todolist</title>

    <script src="./src/assets/js/vue.js"></script>

    <style>

      .done{/*待办事项完成与否的样式*/

        text-decoration: line-through;/*加入横穿文字的直线*/

        background-color: red;

      }

    </style>

</head>

<body>

    <h2>待办事项</h2>

    <div id="app">

        <input type="text" v-model="content"/><button @click="addTask">添加任务</button><!--代办事项的输入框-->

      <ul>

        <li v-for="task,index in list" :key="index"><!--利用v-for完成待办事项的循环展示-->

          <span :class="{'done':task.isDone}">{{task.name}}<!--利用span把代办事项的内容包裹起来,样式展示利用:class来实现-->

          </span><button @click="maskDone(task)">标记已完成</button><!--添加标记已完成的按钮-->

          <button @click="deleteTask(index)">删除待办事项</button><!--添加删除代办事项的按钮-->

        </li>

      </ul>

    </div>

    <script>

      var vm = new Vue({

        el:"#app",

        data:{

          list:[]

        },

        methods:{

            addTask(){

              if(this.content!==''||this.content.length!==0){

                let task = {/*创建一个对象,并存入list数组*/

                  'name':this.content,

                  'isDone':false

                }

                this.list.push(task);

                this.content = ''/*最后把输入框的内容置为空*/

              }

            },

            deleteTask(index){

              this.list.splice(index,1)

            },

            maskDone(task){

              task.isDone = true

            }

        }

      })

    </script>

</body>

</html>

相关文章

网友评论

      本文标题:vue.js实现简单的待办事项小demo

      本文链接:https://www.haomeiwen.com/subject/tlepxqtx.html