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 相关文章推荐
Javascript 继承机制实例
Aug 12 Javascript
基于jquery的表头固定的若干方法
Jan 27 Javascript
基于jQuery的动态表格插件
Mar 28 Javascript
jQuery Tab插件 用于在Tab中显示iframe,附源码和详细说明
Jun 27 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
Sep 19 Javascript
JavaScript组件焦点与页内锚点间传值的方法
Feb 02 Javascript
JavaScript中的Math.SQRT1_2属性使用简介
Jun 14 Javascript
Async Validator 异步验证使用说明
Jul 03 Javascript
Node.js使用gm拼装sprite图片
Jul 04 Javascript
Less 安装及基本用法
May 05 Javascript
js生成1到100的随机数最简单的实现方法
Feb 07 Javascript
Javascript call及apply应用场景及实例
Aug 26 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
从MySQL数据库表中取出随机数据的代码
2007/09/05 PHP
thinkphp缓存技术详解
2014/12/09 PHP
thinkphp3.x中cookie方法的用法分析
2016/05/19 PHP
php file_get_contents取文件中数组元素的方法
2017/04/01 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
2020/12/16 PHP
Javascript 事件流和事件绑定
2009/07/16 Javascript
JqGrid web打印实现代码
2011/05/31 Javascript
jQuery之$(document).ready()使用介绍
2012/04/05 Javascript
JavaScript常用脚本汇总(二)
2015/03/04 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
JavaScript事件学习小结(三)js事件对象
2016/06/09 Javascript
微信小程序 后台登录(非微信账号)实例详解
2017/03/31 Javascript
vue-router路由参数刷新消失的问题解决方法
2017/06/17 Javascript
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
React 无状态组件(Stateless Component) 与高阶组件
2018/08/14 Javascript
详解node和ES6的模块导出与导入
2020/02/19 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
2020/06/24 jQuery
vue中可编辑树状表格的实现代码
2020/10/31 Javascript
[02:54]辉夜杯主赛事第二日败者组 iG.V赛后采访
2015/12/26 DOTA
Python计算字符宽度的方法
2016/06/14 Python
Python遍历numpy数组的实例
2018/04/04 Python
python 一个figure上显示多个图像的实例
2019/07/08 Python
详解Django定时任务模块设计与实践
2019/07/24 Python
python支付宝支付示例详解
2019/08/22 Python
TensorFlow内存管理bfc算法实例
2020/02/03 Python
董事长岗位职责
2013/11/30 职场文书
宠物店的创业计划书范文
2014/01/11 职场文书
美发活动策划书
2014/01/14 职场文书
市场营销管理毕业生自荐信
2014/03/03 职场文书
银行贷款承诺书
2014/03/29 职场文书
大学生演讲稿
2014/04/25 职场文书
党的群众路线教育实践活动总结大会主持词
2014/10/30 职场文书
护理工作心得体会
2016/01/22 职场文书
2019年感恩励志演讲稿(收藏备用)
2019/09/11 职场文书
导游词之日月潭
2019/11/05 职场文书
七年级作文之游记
2019/12/11 职场文书