vue input radio变化事件
时间: 2025-05-25 16:46:17 浏览: 14
### 如何在 Vue 中监听 Input Radio 的变化事件
在 Vue 中处理 `input` 类型为 `radio` 的变化事件相对简单。通过使用 `v-model` 指令,可以轻松实现单选框的状态同步以及相应逻辑的执行。
#### 方法一:利用 `v-model`
当多个 `input[type="radio"]` 绑定至同一变量时,选择不同的选项会更新该共享的数据属性。每当用户点击某个单选按钮,对应的值会被赋予给这个公共变量,并自动触发视图更新[^2]。
```html
<div id="app">
<label><input type="radio" name="option" value="A" v-model="selected"> A</label>
<label><input type="radio" name="option" value="B" v-model="selected"> B</label>
<p>Selected option is: {{ selected }}</p>
</div>
<script>
new Vue({
el: '#app',
data: {
selected: ''
}
});
</script>
```
此方式适用于简单的场景,在不需要额外业务逻辑的情况下推荐采用这种方法来简化代码结构并提高可读性。
#### 方法二:结合 `@change` 或者 `@click` 事件处理器
如果希望在每次改变选择时都执行特定的操作,则可以在模板内添加相应的事件监听器。这里既可以选用 `@change` 也可以用 `@click` 来捕获用户的交互行为;通常情况下两者效果相似,但在某些特殊浏览器环境下可能存在细微差异[^3]。
```html
<div id="app">
<label><input type="radio" name="option" value="A" v-model="selected" @change="handleChange('A')"> A</label>
<label><input type="radio" name="option" value="B" v-model="selected" @change="handleChange('B')"> B</label>
<p>Selected option is: {{ selected }}</p>
</div>
<script>
new Vue({
el: '#app',
data: {
selected: ''
},
methods: {
handleChange(value){
console.log(`Option ${value} has been chosen.`);
// 执行其他操作...
}
}
});
</script>
```
上述例子展示了如何定义一个名为 `handleChange()` 的函数用于响应用户的选择动作,并打印出所选项目的值到控制台中去。这种方式非常适合那些需要基于用户输入立即采取行动的应用程序设计模式。
阅读全文
相关推荐


















