为了账号安全,请及时绑定邮箱和手机立即绑定

【学习打卡】第3天 初识vue-使用vue2实现todolist

标签:
Vue.js

课程名称:毕业一课通,从开题到答辩高效完成
课程章节:第一章课程介绍及第二章做好课前工作
主讲老师:然冬

课程内容
用vue2实现一个todolist
vue和jQuery的区别
v-model实现数据双向绑定

课程收货
了解到的网站:https://www.bootcdn.cn/ 稳定、快速、免费的前端开源项目 CDN 加速服务
vue是一个数据驱动的渐进式框架,数据变化,视图改变。
jquery是通过dom节点操作视图更新。
v-model="绑定的属性"
todolist代码实现:

<div id="app">
        <input 
            type="text" 
            class="input"
            v-model="inputVal"
        >
            {{ inputVal }}
        <p>列表:</p>
        <ul>
            <li v-for="(item,index) in list"
            >
                {{ item.text }}
            </li>
        </ul>
    </div>

    <script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="https://cdn.bootcdn.net/ajax/libs/vue/3.2.37/vue.global.js"></script>
    <script>
        const Todo = {
            data(){
                return {
                    list:[{
                        text:'今天星期五',
                        done:false,
                    }],
                    inputVal:'',
                }
            },

            mounted(){
                var _this = this;
                setTimeout(function(){
                    _this.inputVal = "123"
                },3000)
            }
        };
        Vue.createApp(Todo).mount('#app')
    </script>
<div id="app">
        <input 
            type="text" 
            class="input"
            v-model="inputVal"
            @keyup.enter="add"
        >
            
        <p>列表:</p>

        <ul>
            <li v-for="(item,index) in list"
                @click="item.done =!item.done"
                :class="item.done ? 'done':'false'"
            >
                {{ item.text }}
            </li>
        </ul>
    </div>


    <script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="https://cdn.bootcdn.net/ajax/libs/vue/3.2.37/vue.global.js"></script>
    <script>
        const Todo = {
            data(){
                return {
                    list:[{
                        text:'今天星期五',
                        done:false,
                    }],
                    inputVal:'',
                }
            },

            methods:{
                add(){
                    const val = this.inputVal
                    this.list.push({
                        text:val,
                        done:false,
                    })
                }
            }
        };

        Vue.createApp(Todo).mount('#app')

    </script>

    <style>
        li{
            cursor: pointer;
        }
        .done{
            text-decoration: line-through;
            color: #eee;
        }
    </style>

图片描述

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消