Javascript 多个复选框,绑定到Vue JS中的同一数组
我从vuejs和vue网格开始 我想在以下位置显示选中的行对象:Javascript 多个复选框,绑定到Vue JS中的同一数组,javascript,vue.js,Javascript,Vue.js,我从vuejs和vue网格开始 我想在以下位置显示选中的行对象: <pre> {{ selected| json}} </pre> {{selected}json} 代码区 如文档中的“多个复选框,绑定到同一数组:”示例 正如我选中1复选框时所看到的,所有复选框都已选中。为什么会这样?如何解决这个问题?您在代码中做了一些错误的假设(主要是关于范围) 您在主实例中选择了数组,而不是演示网格组件,其中有复选框: <input @click="selectAl
<pre> {{ selected| json}} </pre>
{{selected}json}
代码区
如文档中的“多个复选框,绑定到同一数组:”示例
正如我选中1复选框时所看到的,所有复选框都已选中。为什么会这样?如何解决这个问题?您在代码中做了一些错误的假设(主要是关于范围) 您在主实例中选择了
数组
,而不是演示网格
组件,其中有复选框:
<input @click="selectAll" type="checkbox" v-model="selected" id="{{ entry.name }}" value="{{ entry.name }}"></td>
如果您这样将选定的属性传递到演示网格中(并在道具中定义),您应该可以:
methods: {
...
selectAll: function () {
...
}
在这里,您可以看到一个工作示例:
您在代码中做了一些错误的假设(主要是在范围方面)
您在主实例中选择了数组
,而不是演示网格
组件,其中有复选框:
<input @click="selectAll" type="checkbox" v-model="selected" id="{{ entry.name }}" value="{{ entry.name }}"></td>
如果您这样将选定的属性传递到演示网格中(并在道具中定义),您应该可以:
methods: {
...
selectAll: function () {
...
}
在这里,您可以看到一个工作示例:
您应该将所选的键添加到组件的数据中,而不是添加到vue的主实例中
您应该将所选的键添加到组件的数据中,而不是添加到vue的主实例中
谢谢您的详细回答!因此,在阅读时,我猜测是因为“selected”没有从vue实例传递到组件,所以它从未初始化,这导致了错误?是的,因为子组件没有自动访问其父组件的属性(除非它们通过道具显式传递)。因此,您的演示网格
试图操作一个不存在的选定的
属性(在控制台中导致错误)。谢谢,这非常有帮助。感谢您提供详细的答案!因此,在阅读时,我猜测是因为“selected”没有从vue实例传递到组件,所以它从未初始化,这导致了错误?是的,因为子组件没有自动访问其父组件的属性(除非它们通过道具显式传递)。因此,您的演示网格
试图操作一个不存在的选定的
属性(在控制台中导致错误)。谢谢,这很有帮助。