vue数据双向绑定的注意点


Posted in Javascript onJune 23, 2017

最近一个vue和element的项目中遇到了一个问题: 动态生成的对象进行双向绑定是失败

直接贴代码:

<el-form :model="addClass" :rules="rules" ref="addClass">
   <el-form-item label="表单分类名称" prop="NAME" :label-width="formLabelWidth">
      <el-input v-model="addClass.NAME" auto-complete="off"></el-input>
   </el-form-item>
   <el-form-item label="表单分类描述" prop="DESCRIBE" :label-width="formLabelWidth">
      <el-input type="textarea" autosize row=5 v-model="addClass.DESCRIBE" auto-complete="off"></el-input>
   </el-form-item>
 </el-form>

上面一个简单的element的表单;addClass就是我要将数据绑定到的对象;他初始是一个空对象;我需要在其他地方读取然后给他添加属性,同时给表单进行绑定。

在这个过程中就发现,双向绑定失败了 , 而且也没有报错。

我是通过obj.xxx = xxx;这种方法进行绑定; 经过测试发现双向绑定并没有实现。

解决方法:

参照 VUE官方文档: https://cn.vuejs.org/v2/guide/reactivity.html ;

受现代 JavaScript 的限制(以及废弃 Object.observe),Vue 不能检测到对象属性的添加或删除。由于 Vue 会在初始化实例时对属性执行 getter/setter 转化过程,所以属性必须在 data 对象上存在才能让 Vue 转换它,这样才能让它是响应的。例如:

var vm = new Vue({
 data:{
 a:1
 }
})
// `vm.a` 是响应的
vm.b = 2
// `vm.b` 是非响应的

Vue 不允许在已经创建的实例上动态添加新的根级响应式属性(root-level reactive property)。然而它可以使用 Vue.set(object, key, value) 方法将响应属性添加到嵌套的对象上:

Vue.set(vm.someObject, 'b', 2)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery的实现原理的模拟代码 -2 数据部分
Aug 01 Javascript
一个简单的jquery的多选下拉框(自写)
May 05 Javascript
JavaScript中的数值范围介绍
Dec 29 Javascript
JavaScript监听和禁用浏览器回车事件实例
Jan 31 Javascript
jQuery实现放大镜效果实例代码
Mar 17 Javascript
Node.js 回调函数实例详解
Jul 06 Javascript
让网站自动生成章节目录索引的多个js代码
Jan 07 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
May 31 jQuery
Nuxt.js开启SSR渲染的教程详解
Nov 30 Javascript
前端性能优化建议
Sep 17 Javascript
微信小程序实现点击导航条切换页面
Nov 19 Javascript
JS如何监听div的resize事件详解
Dec 03 Javascript
Vue.js常用指令的使用小结
Jun 23 #Javascript
JS中将多个逗号替换为一个逗号的实现代码
Jun 23 #Javascript
JavaScript对象_动力节点Java学院整理
Jun 23 #Javascript
JavaScript订单操作小程序完整版
Jun 23 #Javascript
详解vue模拟加载更多功能(数据追加)
Jun 23 #Javascript
JavaScript实现简单的树形菜单效果
Jun 23 #Javascript
AngularJS 限定$scope的范围实例详解
Jun 23 #Javascript
You might like
ecshop 订单确认中显示省市地址信息的方法
2010/03/15 PHP
php入门之连接mysql数据库的一个类
2012/04/21 PHP
Memcached常用命令以及使用说明详解
2013/06/27 PHP
PHP抓取网页、解析HTML常用的方法总结
2015/07/01 PHP
JS setCapture 区域外事件捕捉
2010/03/18 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
三个js循环的关键字示例(for与while)
2016/02/16 Javascript
详解网站中图片日常使用以及优化手法
2017/01/09 Javascript
Vuejs实现购物车功能
2017/11/05 Javascript
vue-router实现组件间的跳转(参数传递)
2017/11/07 Javascript
20行JS代码实现粘贴板复制功能
2018/02/06 Javascript
vue-quill-editor富文本编辑器简单使用方法
2018/09/21 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
小程序实现搜索框功能
2020/03/26 Javascript
JavaScript利用键盘码控制div移动
2020/03/19 Javascript
Vue中 axios delete请求参数操作
2020/08/25 Javascript
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
python正则分组的应用
2013/11/10 Python
用Python解析XML的几种常见方法的介绍
2015/04/09 Python
详细解析Python当中的数据类型和变量
2015/04/25 Python
python+selenium实现登录账户后自动点击的示例
2017/12/22 Python
python逆向入门教程
2018/01/15 Python
python3实现逐字输出的方法
2019/01/23 Python
Python递归函数特点及原理解析
2020/03/04 Python
python import 上级目录的导入
2020/11/03 Python
幼儿园教师请假制度
2014/01/16 职场文书
幼儿园三八妇女节活动方案
2014/03/11 职场文书
教师考核评语
2014/04/28 职场文书
个人评语大全
2014/05/04 职场文书
竞选演讲稿范文大全
2014/05/12 职场文书
仓库保管员岗位职责
2015/02/09 职场文书
就业意向书范本
2015/05/11 职场文书
难以忽视的真相观后感
2015/06/05 职场文书
大学军训通讯稿
2015/07/18 职场文书
怎样做好公众演讲能力?
2019/08/28 职场文书
pytorch 如何把图像数据集进行划分成train,test和val
2021/05/31 Python