数组循环v-model绑定报错You are binding v-model directly to
Author:[email protected] Date:
You are binding v-model directly to a v-for iteration alias. This will not be able to modify the v-for source array because writing to the alias is like modifying a function local variable. Consider using an array of objects and use v-model on an object property instead.
下午刚刚睡醒,数组循环,v-model绑定到input,出现报错。
<div v-for="(tab,index) in tabs" :key="index">
<input type="text" placeholder="" v-model="tab">
<div class="删除" @click=del(index)></div>
</div>
只需改写为:
<div v-for="(tab,index) in tabs" :key="index>
<input type="text" placeholder="" v-model="editTabProps.tabs[index]">
<div class="删除" @click=del(index)></div>
</div>
关键是why?
因为 v-model必须绑定 vue data 里面的值。(双向数据绑定))
而v-for="(tab,index) in tabs" 是ast时的临时变量,是无法watch与 observe 的,当然报错
更详细可以查看 梳理vue双向绑定的实现原理 https://www.zhoulujun.cn/html/webfront/ECMAScript/vue/2840.html
转载本站文章《数组循环v-model绑定报错You are binding v-model directly to》,
请注明出处:https://www.zhoulujun.cn/html/webfront/ECMAScript/vue/7476.html
延伸阅读:
- vue2.x+vuex项目Typescript改造:vue模板从jsx到tsx需要注意的事项
- 详解v-model:v-model双向绑定与Vue自定义组件设置
-
从vue-router报Unknown custom element:
看Vue.use&install - webpack4.x搭建vue工程,各种报错
- vue element-ui loading延迟出现loading效果—elementUI设置loading
- vue中methods/watch/computed对比分析,watch及computed原理挖掘
- 前端组件化:Vue/React组件设计思想与遵从原则
- Vue中scoped原理以及带来的样式问题
- vue router warnging:Expected indentation of 10 spaces but found 12
- Slot:HTML5-template与vue-template的区别,Vue中template与slot异同
- vue.directive:vue自定义指令钩子函数——从源码解读
- Vue Router(0):params和query的区别+重定向参数转发+别名作用
- vue2.x老项目typescript改造过程经验总结
- JSX与Vue Template(SFC):React比Vue2.x更适合集成TS,Vue3+TSX境况几何
- Vuex在TSX中的改造方案:TS改造Vue2项目Vuex如何处置?
- VueRouter和ReactRouter原理:$router与$route区别,见习React Router 4.0
- vue项目sass文件找不到css背景图片:weppack报路径出错
- Vue依赖注入:provide/inject
- vue源码 源码解读
- vue-loader与vue-cli webpack配置笔记:vue-config.js笔记 替换loader
- watch性能优化:vue watch对象键值说明-immediate属性详解
- vue mixins、Vue.extend() 、extends使用注意事项笔记
- vue keep-alive(1):vue router如何保证页面回退页面不刷新?