vue中$set的使用(结合在实际应用中遇到的坑)


Posted in Javascript onJuly 10, 2018

最近在开发过程中遇到一个问题。在节点上面写点击事件时,点击事件不执行。代码如下:

<!-- 操作 -->
    <el-table-column label="操作">
     <template slot-scope="scope">
      <span class="poi icon-hover f16 mr20" @click='scope.row.edit=!scope.row.edit'>
       <svg-icon :icon-class="scope.row.edit?'icon_edit_outline':'icon_save'"></svg-icon>
      </span>
      <span class="poi icon-hover f16">
       <svg-icon icon-class="icon_delete"></svg-icon>
      </span>
     </template>
    </el-table-column>
    <!-- 操作 -->

这里面的click事件一直不执行,一开始以为是点击事件没写对一直在找原因,后面突然想到会不会是数据不同步的原因的,因为edit字段是自己添加进去的字段,如下:

export default {
 name: 'strategic',
 data() {
  return {
   tableData: [{
    'pp_id': 4,
    'brand_name': '1414', 
    'project_name': '得意', 
    'description': '的u会回来会', 
    'publish_time': '2018-07-23',
    'is_used': 0 
   }]
  }
 },
 components: { },
 computed: {
 },
 created() {
  this.initTableData()
 },
 methods: {
  initTableData() {
   this.tableData.forEach(element => {
    element.edit = false
   })
  }
 }
}

之后我直接在数据里面加上edit字段,发现是能够同步数据的,代码如下:

data() {
  return {
   tableData: [{
    'pp_id': 4,
    'brand_name': '1414',
    'project_name': '1414',
    'description': '7588888888',
    'publish_time': '2018-07-23',
    'is_used': 0,
    'edit': false
   }]
  }
 }

原来是在我们使用vue进行开发,当生成vue示例后,再次给数据赋值时,有时候并不能自动更新到数据上去,这时候我们就要通过$set来解决这个问题,解决代码如下:

initTableData() {
 this.tableData.forEach(element => {
   this.$set(element, 'edit', false)
 })
}

至此就解决啦。

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

Javascript 相关文章推荐
一个无限级XML绑定跨框架菜单(For IE)
Jan 27 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
Oct 16 Javascript
innerHTML中标签可以换行的方法汇总
Aug 14 Javascript
asp知识整理笔记3(问答模式)
Sep 27 Javascript
学习JavaScript设计模式之策略模式
Jan 12 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
Jan 20 Javascript
jQuery实现的网页换肤效果示例
Sep 20 Javascript
Ext JS 实现建议词模糊动态搜索功能
May 13 Javascript
理顺8个版本vue的区别(小结)
Sep 17 Javascript
layui table 表格上添加日期控件的两种方法
Sep 28 Javascript
解决Vue动态加载本地图片问题
Oct 09 Javascript
js实现div色块碰撞
Jan 16 Javascript
JavaScript中 ES6变量的结构赋值
Jul 10 #Javascript
vue超时计算的组件实例代码
Jul 09 #Javascript
微信小程序自定义底部弹出框
Nov 16 #Javascript
详解vue中组件参数
Jul 09 #Javascript
微信小程序实现手指触摸画板
Jul 09 #Javascript
微信小程序canvas实现刮刮乐效果
Jul 09 #Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
Jul 09 #Javascript
You might like
世界收音机发展史
2021/03/01 无线电
php操作sqlserver关于时间日期读取的小小见解
2009/11/29 PHP
如何使用php绘制在图片上的正余弦曲线
2013/06/08 PHP
js parentElement和offsetParent之间的区别
2010/03/23 Javascript
js操作时间(年-月-日 时-分-秒 星期几)
2010/06/20 Javascript
js复制到剪切板的实例方法
2013/06/28 Javascript
jQuery动画特效实例教程
2014/08/29 Javascript
jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
2015/09/14 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
浅谈jQuery中的checkbox问题
2016/08/10 Javascript
基于Javascript实现的不重复ID的生成器
2016/12/25 Javascript
微信小程序的动画效果详解
2017/01/18 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
2017/03/25 Javascript
jQuery实现的五星点评功能【案例】
2019/02/18 jQuery
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
2019/05/13 jQuery
深入了解JavaScript 私有化
2019/05/30 Javascript
js+canvas实现画板功能
2020/09/13 Javascript
前端性能优化建议
2020/09/17 Javascript
Python3中urlencode和urldecode的用法详解
2019/07/23 Python
Django框架 信号调度原理解析
2019/09/04 Python
Django实现CAS+OAuth2的方法示例
2019/10/30 Python
python操作链表的示例代码
2020/09/27 Python
墨西哥购物网站:Elektra
2020/01/21 全球购物
英国儿童设计师服装和玩具购物网站:Zac & Lulu
2020/10/19 全球购物
初三家长会邀请函
2014/01/18 职场文书
财务会计毕业生个人求职信
2014/02/03 职场文书
《动手做做看》教学反思
2014/04/09 职场文书
企业仓管员岗位职责
2014/06/15 职场文书
中职招生先进个人材料
2014/08/31 职场文书
护士工作失误检讨书
2014/09/14 职场文书
甲乙双方合作协议书
2014/10/13 职场文书
逃出克隆岛观后感
2015/06/09 职场文书
高一地理教学工作总结
2015/08/12 职场文书
SQL注入篇学习之盲注/宽字节注入
2022/03/03 MySQL