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 相关文章推荐
jquery api参考 visualjquery 中国线路 速度快
Nov 30 Javascript
jquery tools之tooltip
Jul 25 Javascript
jQuery的实现原理的模拟代码 -4 重要的扩展函数 extend
Aug 03 Javascript
JQuery获取各种宽度、高度(format函数)实例
Mar 04 Javascript
关于JavaScript的变量的数据类型的判断方法
Aug 14 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
Jun 02 Javascript
概述javascript在Google IE中的调试技巧
Nov 24 Javascript
Vue2.0表单校验组件vee-validate的使用详解
May 02 Javascript
vue router总结 $router和$route及router与 router与route区别
Jul 05 Javascript
原生javascript实现类似vue的数据绑定功能示例【观察者模式】
Feb 24 Javascript
Vant Weapp组件踩坑:picker的初始赋值解决
Nov 12 Javascript
vue组件vue-esign实现电子签名
Apr 21 Vue.js
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
一个简单实现多条件查询的例子
2006/10/09 PHP
php简单静态页生成过程
2008/03/27 PHP
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
2013/06/03 PHP
php的闭包(Closure)匿名函数详解
2015/02/22 PHP
PHP7新增运算符用法实例分析
2016/09/26 PHP
PDO::lastInsertId讲解
2019/01/29 PHP
php的对象传值与引用传值代码实例讲解
2021/02/26 PHP
防止网站内容被拷贝的一些方法与优缺点好处与坏处分析
2007/11/30 Javascript
腾讯的ip接口 方便获取当前用户的ip地理位置
2010/11/25 Javascript
JavaScript面向对象设计二 构造函数模式
2011/12/20 Javascript
利用Jquery实现可多选的下拉框
2014/02/21 Javascript
采用call方式实现js继承
2014/05/20 Javascript
JavaScript中string转换成number介绍
2014/12/31 Javascript
详细分析JavaScript变量类型
2015/07/08 Javascript
jQuery控制DIV层实现由大到小,由远及近动画变化效果
2015/10/09 Javascript
自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
2015/12/12 Javascript
JavaScript反射与依赖注入实例详解
2018/05/29 Javascript
详解nodejs 开发企业微信第三方应用入门教程
2019/03/12 NodeJs
一文搞懂ES6中的Map和Set
2019/05/20 Javascript
webpack4.0+vue2.0利用批处理生成前端单页或多页应用的方法
2019/06/28 Javascript
Python中多线程thread与threading的实现方法
2014/08/18 Python
浅谈编码,解码,乱码的问题
2016/12/30 Python
python批量读取文件名并写入txt文件中
2020/09/05 Python
Python对接支付宝支付自实现功能
2019/10/10 Python
为什么python比较流行
2020/06/19 Python
手把手教你配置JupyterLab 环境的实现
2021/02/02 Python
英国最大的汽车配件在线商店:Euro Car Parts
2019/09/30 全球购物
法国在线药房:Shop Pharmacie
2019/11/26 全球购物
英国Lookfantastic中文网站:护肤品美妆美发购物(英国直邮)
2020/04/27 全球购物
车工岗位职责
2013/11/26 职场文书
机电一体化职业规划书
2014/01/07 职场文书
审计专业自荐信范文
2014/04/21 职场文书
小学生竞选班干部演讲稿
2014/04/24 职场文书
2014年重阳节敬老活动方案
2014/09/16 职场文书
员工辞退通知书
2015/04/17 职场文书
Python基础知识学习之类的继承
2021/05/31 Python