Vue.js 如何解决v-switch vuetify仅以一种方式绑定?

Vue.js 如何解决v-switch vuetify仅以一种方式绑定?,vue.js,vuetify.js,nuxt.js,Vue.js,Vuetify.js,Nuxt.js,vuetify的v型开关只有一种绑定方式。 如果我加载数据,它会打开或关闭。因此,如果我在v型开关的v型模型中加载数据,它就会工作。 但如果我打开v型开关,它会关闭,但不会改变任何东西 代码如下: {{item.name} 编辑 导出默认值{ 资料{ 返回{ 选项卡:[ “内容类型” ], 选项卡:空, 数据表:{ 项目:[], 标题:[{ 文本:“内容类型”,值:名称 }] }, 设置:空, 在菜单:{}, } }, 安装{ 这个.$axios.get'/settings.json'。然后{d

vuetify的v型开关只有一种绑定方式。 如果我加载数据,它会打开或关闭。因此,如果我在v型开关的v型模型中加载数据,它就会工作。 但如果我打开v型开关,它会关闭,但不会改变任何东西

代码如下:

{{item.name} 编辑 导出默认值{ 资料{ 返回{ 选项卡:[ “内容类型” ], 选项卡:空, 数据表:{ 项目:[], 标题:[{ 文本:“内容类型”,值:名称 }] }, 设置:空, 在菜单:{}, } }, 安装{ 这个.$axios.get'/settings.json'。然后{data}=>{ this.settings=数据 }; 这是.$axios.get'/tables.json'。然后{data}=>{ //设置所有内容类型 data.mapitem=>{ this.datatable.items.push{ 名称:项目 } } //检查每个表是否在菜单中 this.datatable.items.forEachitem=>{ this.inMenu[item.name.toLowerCase]=JSON.parsethis.settings.menu.filtermenuitem=>menuitem.key==item.name.toLowerCase[0]。值 } } }, 更新{ console.logthis.inMenu } } 所以我点击了第一个开关,它并没有改变状态

我尝试在数据函数中使用普通道具。 我做了一个切换:null prop,它会对此做出很好的反应,但不会对我的代码做出反应。
有什么想法吗?

我猜您的数据在编写以下内容时不是被动的:

// check foreach table if it's in the menu
this.datatable.items.forEach(item => {
  this.inMenu[item.name.toLowerCase()] = JSON.parse(this.settings.menu.filter(menuitem => menuitem.key == item.name.toLowerCase())[0].value)
})
您应该改用$set方法并写入:

// check foreach table if it's in the menu
this.datatable.items.forEach(item => {
  this.$set(this.inMenu, item.name.toLowerCase(), JSON.parse(this.settings.menu.filter(menuitem => menuitem.key == item.name.toLowerCase())[0].value)
}))
有关反应性的更多信息,请参阅

这能解决你的问题吗