vuejs是如何编译checkbox数组的v-model的
随便用官方的例子编译了一下, 发现如下
_c("input", {
directives: [
{
name: "model",
rawName: "v-model",
value: _vm.checkedNames,
expression: "checkedNames"
}
],
attrs: { type: "checkbox", id: "jack", value: "Jack" },
domProps: {
checked: Array.isArray(_vm.checkedNames)
? _vm._i(_vm.checkedNames, "Jack") > -1
: _vm.checkedNames
},
on: {
change: function($event) {
var $$a = _vm.checkedNames,
$$el = $event.target,
$$c = $$el.checked ? true : false
if (Array.isArray($$a)) {
var $$v = "Jack",
$$i = _vm._i($$a, $$v)
if ($$el.checked) {
$$i < 0 && (_vm.checkedNames = $$a.concat([$$v]))
} else {
$$i > -1 &&
(_vm.checkedNames = $$a
.slice(0, $$i)
.concat($$a.slice($$i + 1)))
}
} else {
_vm.checkedNames = $$c
}
}
}
}),