javascript - 单选按钮绑定在 VueJS 中不起作用
问题描述
他们根本不工作。
https://jsfiddle.net/23yf1mqu/1/
<div id="app">
<p>
Foo is: {{foo}} <a href="#" v-on:click="click">increment</a>
</p>
<div class="row mb-4">
<div class="col col-6">foo</div>
<div class="col col-6">
<div class="btn-group btn-group-toggle" data-toggle="buttons">
<label class="btn btn-light">
<input type="radio" name="bar" id="bar_0" value="0" v:model="bar"> None
</label>
<label class="btn btn-light">
<input type="radio" name="bar" id="bar_1" value="1" v:model="bar"> Direct
</label>
<label class="btn btn-light">
<input type="radio" name="bar" id="bar_2" value="2" v:model="bar"> Inherit
</label>
</div>
</div>
</div>
</div>
new Vue({
el: "#app",
data: {
foo: 1
},
methods: {
click: function()
{
this.foo = this.foo === 2 ? 0 : this.foo + 1;
}
}
})
使用v-bind:value
也不行。
解决方案
v-model
是具有这种语法的指令v-model="someData"
,您应该用:
连字符替换-
:
<input type="radio" name="bar" id="bar_0" value="0" v-model="bar">
并将该bar
属性添加到数据对象,如下所示:
new Vue({
el: "#app",
data(){
return {
foo: 1,
bar:1
}
},
methods: {
click: function()
{
this.foo = this.foo === 2 ? 0 : this.foo + 1;
}
}
})
推荐阅读
- regex - 如果全部为真,如何组合两个或多个正则表达式并匹配
- java - 来自 Hibernate 的多级对象的延迟加载
- vue.js - Vue:我可以在计算属性中使用组件过滤器吗?
- javascript - 在概念化如何将 if else 语句更改为 switch 语句时遇到问题
- microsoft-cognitive - 无法获取 Microsoft Academic 的认知服务实验室 API 密钥
- php - 可以在浏览器上使用 URL 发送电子邮件,但在 Angular 上它不起作用
- python - 需要一点帮助来理解 range() 和 len()
- reactjs - 将点击事件传递给子级
- python - GPU Mac Pro AMD OpenCL 上的矩阵乘法错误结果
- python - Python:全局使用局部变量不起作用