vue框架制作TodoList

在初步学习了vue之后,我们可以使用vue的基础知识来实现一个todolist列表,主要功能是通过一个输入框来输入,然后将输入的内容同步的显示在页面上,当点击其中的一项时,出现一条下划线。

首先列出在实现功能的过程中需要使用的一些vue语法。

1.因为要实现双向绑定,所以需要使用v-model。

2.涉及到循环渲染列表,需要使用v-for。

3.要实现点击事件,所以在列表上要通过v-on绑定点击事件。

4.点击时要在列表上添加或者会删除类名,从而控制下划线样式,所以要使用v-bind后面接{}的形式来判断是否显示类名。

接下来是实现代码:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script src="http://apps.bdimg.com/libs/vue/1.0.14/vue.js"></script>
    <style>
        .underline{
            text-decoration: underline;
        }
    </style>
</head>
<body>
    <div id="todoList">
        <h1 v-text="msg"></h1>
        <input type="text" v-model="newItem" @keyup.enter="doAddNew"/>
        <ul>
            <li v-for="item in items" v-text="item.label" @click="finished(item)" :class="{underline:item.isFinished}"></li>
        </ul>
    </div>
</body>

<script>
    new Vue({
        el:"#todoList",
        data:{
            items:[],
            newItem:'',
            msg:"TodoList"
        },
        methods:{
            doAddNew: function () {
                this.items.push({
                    label:this.newItem,
                    isFinished:false
                });
                this.newItem = '';
            },
            finished: function (item) {
                item.isFinished = !item.isFinished;
            }
        }
    });
</script>
</html>

 

posted on 2017-09-02 21:08  观琪不喻  阅读(205)  评论(0编辑  收藏  举报

导航