Vue.js Vuejs:如何在V模型中不使用布尔值?
我正在从API获取Vue.js Vuejs:如何在V模型中不使用布尔值?,vue.js,v-model,Vue.js,V Model,我正在从API获取options.customerdata.showbutton的值,作为true,因此现在开关处于on状态 我希望开关处于关闭状态,因此应给出v-model=“false”。但是 试图给予 v-model=“!(options.customerdata.showbutton)” 不工作并显示错误。如何做到这一点 <b-form-checkbox v-model="options.customerdata.showbutton" name="logo-display" s
options.customerdata.showbutton
的值,作为true
,因此现在开关处于on状态
我希望开关处于关闭状态,因此应给出v-model=“false”
。但是
试图给予
v-model=“!(options.customerdata.showbutton)”
不工作并显示错误。如何做到这一点
<b-form-checkbox v-model="options.customerdata.showbutton" name="logo-display" switch >
</b-form-checkbox>
模型不能是表达式(它必须是对数据/属性的引用)
最简单的方法是定义数据并将其设置为负值。但请注意,在这种情况下,组件初始化后更改customerdata时,模型不会更改
data: {
return {
show: !this.options.customerdata.showbutton
}
}
如果需要将值存储回选项(或将值绑定到customerdata),还可以将computed属性与setter/getter一起使用
computed {
show: {
get () {
!this.options.customerdata.showbutton
}
set (value) {
this.options.customerdata.showbutton = !value
}
}
}
在这两种情况下,都要用
v-model="show"
您能告诉我们错误吗?[vue/valid-v-model]“v-model”指令需要属性值,该属性值作为LHS.eslint-plugin-vueSo有效。我应该将options.customerdata.showbutton存储在var中,并将其取反并绑定到v-model中?@JithinB如果要修改customerdata,我还添加了setter示例back@JithinB所以答案是它取决于您的用例(我不知道你在用复选框值做什么)如果你需要传播它回来,无论如何,这两个建议应该涵盖常见的场景。第一部分工作正常,但存储回值不起作用!如果我打开开关(假为真)并刷新它。它再次显示为fasle!@JithinB它在选项方面工作。customerdata是更新的。但没有人在重新加载后坚持更改以查看它。这是完全不同的情况。(对于它,显然需要在更改时触发API调用)