var zhi=reactive({}) function dianji(id){ zhi=yuangong.xingxi[id] console.log(zhi) } input v-bind="zhi.id">{{ zhi }}输入框怎么接收不到zhi.id
时间: 2024-02-24 13:58:12 浏览: 115
根据你提供的代码,我发现可能是因为你在`input`标签中使用了`v-bind`指令,但是`zhi.id`是一个响应式对象,不能直接绑定到`input`标签的属性上。
你可以使用`v-model`指令来实现双向绑定,将`zhi.id`绑定到`input`标签的`value`属性上,然后通过`@input`事件来更新`zhi.id`的值,代码如下所示:
```html
<template>
<div>
<input v-model="zhi.id" @input="updateId" />
</div>
</template>
<script>
import { reactive } from 'vue';
export default {
setup() {
const yuangong = {
xingxi: [
{ id: 1, name: '张三' },
{ id: 2, name: '李四' },
{ id: 3, name: '王五' },
],
};
const zhi = reactive({});
function dianji(id) {
zhi = yuangong.xingxi[id];
console.log(zhi);
}
function updateId(event) {
zhi.id = event.target.value;
}
return {
zhi,
dianji,
updateId,
};
},
};
</script>
```
在上面的代码中,我们使用了`v-model="zhi.id"`将`zhi.id`绑定到`input`标签的`value`属性上,然后通过`@input="updateId"`监听输入框的输入事件,当输入框的值发生变化时,会触发`updateId`方法来更新`zhi.id`的值。这样就可以实现输入框与`zhi.id`的双向绑定了。
阅读全文