vue.cli3做ToDoList

一些小的碎碎念,记录自己的实际操作。

配置路由,引入,注册使用

知识点分析

  • input输入框,输入按钮
  • 待完成,完成按钮
  • 未完成,撤销按钮,删除按钮

新的技术

  • vuetify
  • UI组件

输入部分

<v-row>
            <v-col :cols="6">
                <v-text-field placeholder="please input" v-model="input">
                </v-text-field>
            </v-col>
            <v-col :cols="3">
                <v-btn color="primary">添加</v-btn>
            </v-col>
  </v-row>

设置好html,用vuetify设置样式,简单方便又快捷。
用到了form里的text-field文本框

设置逻辑,创建thingList数组,存放清单的标题,时间等信息,用v-for循环语句v-for=“(item,index) in items: :key=“index”),创建新的div,通过this.thingList.push(),进行渲染,展示清单内容。

<div>
            <v-card v-for="(thing,index) in thingList" :key="index">
                <v-card-text>
                    {{thing.title}}
                </v-card-text>
            </v-card>
 </div>

注意输入框置空问题。

待完成,已完成部分

通过v-for进行条件渲染,用v-show通过thing.isDone选择某个清单该在哪一部分展现。
删除通过thisthingList.splice(index,1),通过下标进行删除,规定删除个数。

离线问题

想要刷新之后数据仍然存在,选择localstorage存取数据

watch:{
        thingList: {
            handler: function(value){
                localStorage.setItem("thingList",JSON.stringify(value));
            },
            deep: true,
        }
    },
    created(){
        const listStr = localStorage.getItem("thingList");
        this.thingList = JSON.parse(listStr);
    }, 

以上为解决离线问题方法,将存取的数据从对象转化为字符串,用stringify序列化,这种watch方法为深度监听方法,在created中反序列化,再变为对象实现离线保存数据。

遇到的问题是,function没有写全写了func,自动保存了这个包,出现”func“未被定义的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值