vue todomvc案例中全选框出错,需要点三次才能完成全选取消全选两种操作

来源:互联网 发布:注册音乐人软件 编辑:程序博客网 时间:2024/05/17 08:44

这个坑我并不想表达任何情绪,保持微笑

HTML如下:

<input class="toggle-all" type="checkbox" v-model="allDone">

错误js如下:

//全选与取消全选事件        allDone: {            get: function () {                this.remaining ===0            },            set: function (value) {                this.todos.forEach(function(todo) {                    todo.completed = value                }, this);            }         },

出错情况如下:

我点击全选框,内容全选了,但是全选框没有亮,它默默地做出了自己的贡献不需要任何回报

这里写图片描述

这里写图片描述

经过本仙女的仔细考虑,发现了一个问题,get 没有return 啊,修改如下:

get: function () {     return this.remaining ===0},

错因:当第一次点击时,allDone执行了,但是它在等待get return一个值,没有等到,再次点击,才能被选中

原创粉丝点击