javascript - 初学vue写todo list时发生错乱
怪我咯
怪我咯 2017-04-11 12:25:00
[JavaScript讨论组]

刚学vue,写了一个TODO list ,问题就是对 TODO 操作的时候发生错乱 ,比如我点击“看书”的checkbox表示我完成这个TODO,然后“看书”就会移到“已完成列表”中,这个时候问题来了,“看书”下面的“写代码”的checkbox也会被打钩(但没有移到已完成列表)。自己调试了很久,不知道哪里错了,望解惑,非常感谢。

代码如下(没贴css)

const STORAGE_KEY='vue-todo-list'
var Store={
    fetch:function(){
        return JSON.parse(window.localStorage.getItem(STORAGE_KEY) || '[]');
    },
    save:function(items){
        window.localStorage.setItem(STORAGE_KEY,JSON.stringify(items));
    }
}
 
var app=new Vue({
    el:'#app',
    data:{
        title:'TODO List',
        items:Store.fetch(),
        newItem:'',
        placehold:'输入TODO事项',
        finishBoxShow:false
    },
    computed:{
        getFinishedList:function(){
            return this.items.filter(function(item){
                return item.isFinished;
            });
        },
        unFinishedList:function(){
            return this.items.filter(function(item){
                return !item.isFinished;
            })
        }
    },
    watch:{
        items:{
            handler:function(items){
                Store.save(items);
            },
            deep:true
        }
    },
    methods:{
        toggleFinish:function(item){
            item.isFinished=!item.isFinished;
        },
        addNewItem:function(){
            this.items.push({
                label:this.newItem,
                isFinished:false
            });
            this.newItem='';
        },
        toggleBox:function(){
            this.finishBoxShow=!this.finishBoxShow;
        },
        deleteItem:function(item){
            this.items.splice(this.items.indexOf(item),1);
        }
    }
});

  • X

已完成列表

  • X

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号