示例代码如下:
<template> <el-input v-model='processInfo[key]'></el-input></template><script>export default { data() { return { processInfo: { name: '主项目', children: [ { name: '子项目', personList: [ { personName: '张三' } ] } ] }, key: 'children[0].personList[0].personName', } }}</script>
我想通过key动态的绑定processInfo的属性,但是这样不生效,请问各位大佬有什么解决办法?
在 Vue.js 2 中,v-model
指令的工作方式是,它需要一个在组件实例中存在的属性(或计算属性)来进行双向数据绑定。在你的例子中,你试图绑定到 processInfo[key]
,但是这并不会工作,因为 processInfo[key]
并不是一个存在的属性或计算属性。这就是为什么你的代码没有按预期工作的原因。
对于更复杂的数据结构,你可以使用 Vue 的 v-bind:value
(或简写为 v-model
)来绑定到一个具体的路径。你需要创建一个计算属性来实现这个功能。
以下是你的代码的修改版本:
<template> <el-input v-model="getValue(key)"></el-input></template><script>export default { data() { return { processInfo: { name: '主项目', children: [ { name: '子项目', personList: [ { personName: '张三' } ] } ] }, key: 'children[0].personList[0].personName', } }, computed: { getValue() { return this.processInfo[this.key]; } }}</script>
在这个修改后的版本中,我添加了一个名为 getValue
的计算属性。这个计算属性会根据 key
的值从 processInfo
中返回相应的值。这样,无论 key
的值如何变化,v-model
都会绑定到正确的路径上。
FXJXM的数量跟normal的数量是一样的。请问v-for渲染el-radio-group的时候,v-model怎么绑定
题目描述 关于v-model动态绑定多层级的属性名 题目来源及自己的思路 因为我想做一个自动生成表单的组件,然后绑定初始值时,希望通过对象的层级关系去绑定v-model,这样最后提交的数据,也将是带有层级的对象数据。 相关代码 你期待的结果是什么?实际看到的错误信息又是什么? 假如modelProps接收到一个值是字符串"role.id",那我希望v-model可以变成form.role.id,如
使用 v-model 指令,可以建立数据到模板的双向绑定。本质上它是如下写法的语法糖: <input v-model="value" /> => <input value={{ self.value }} ev-input={function(e) { self.value = e.target.value; this.update(); }.bind(this)} /
本文向大家介绍vue中v-model对select的绑定操作,包括了vue中v-model对select的绑定操作的使用技巧和注意事项,需要的朋友参考一下 1、单选时 如果 v-model表达式的value初始值未能匹配任何选项,<select> 元素将被渲染为“未选中”状态。在 iOS 中,这会使用户无法选择第一个选项。因为这样的情况下,iOS 不会触发 change 事件。因此,更推荐像上面这
我在一个Vue项目上工作,实际上我试图将img src属性绑定到数据值,然后我使用setInterval函数动态更改url每次调用函数,但当我运行页面时,我得到一个错误就像 属性或方法“源”不是在实例上定义的,而是在呈现过程中引用的。通过初始化属性,确保此属性是反应性的,无论是在数据选项中,还是对于基于类的组件。见:https://vuejs.org/v2/guide/reactivity.htm
起初我是一个初学者 我看过很多教程,读过很多例子,甚至试图从JLS来理解这个主题,但我仍然有一些困惑或误解。 让我给你看我看不懂的问题。