1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| let vm = new Vue({ el: "#app", data: { list: [ { id: 1, name: 'js', age: 21, pircle: 200 }, { id: 2, name: 'css', age: 21, pircle: 200 }, { id: 3, name: 'html', age: 21, pircle: 200 }, { id: 4, name: 'PHP', age: 21, pircle: 200 }, ], checked: false, model: [] }, methods: { all() { if (this.checked) { this.model = [] } else { this.list.forEach(i => { if (this.model.indexOf(i.id) == -1) { this.model.push(i.id) } }) } } }, watch: { model() { if (this.model.length == this.list.length) { this.checked = true; } else { this.checked = false } } }
|