Vue 报错TypeError: this.$set is not a function 的解决方法


Posted in Javascript onDecember 17, 2018

报错场景:将APi中得到的response数据,用Vue$set()使数据动态响应

报错代码:

methods: {
  textTranslate: function (text, to) {
 
   $.ajax({
    url: 'http://openapi.youdao.com/api',
    type: 'post',
    dataType: 'jsonp',
    data: {
     q: text,
     appKey: this.appKey,
     salt: this.salt,
     from: this.from,
     to: to,
     sign: md5(this.appKey + text + this.salt + this.key)
    },
    success: function (data) {
     this.$set(this.$data, 'translatedText', data.translation[0])
    }
   })
  }
 }

报错原因:这里的this指向的不是VueModel,

解决方法1:在执行函数中定义指向Model的变量 let vm = this ,用该变量替代this

methods: {
  textTranslate: function (text, to) {
   let vm = this
   $.ajax({
    url: 'http://openapi.youdao.com/api',
    type: 'post',
    dataType: 'jsonp',
    data: {
     q: text,
     appKey: this.appKey,
     salt: this.salt,
     from: this.from,
     to: to,
     sign: md5(this.appKey + text + this.salt + this.key)
    },
    success: function (data) {
     vm.$set(vm.$data, 'translatedText', data.translation[0])
    }
   })
  }
 }

解决方法2:将。siccess改为箭头函数的写法,这样子箭头函数里的this其实是指向VueModel的,这样子用this看不会报错了

success: (data) => {
     this.$set(this.$data, 'translatedText', data.translation[0])
    }

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

Javascript 相关文章推荐
jquery实现简单的拖拽效果实例兼容所有主流浏览器
Jun 21 Javascript
基于jquery实现的定时显示与隐藏div广告的实现代码
Aug 22 Javascript
js验证身份证号有效性并提示对应信息
Oct 19 Javascript
jquery读写cookie操作实例分析
Dec 24 Javascript
详解JavaScript中的构造器Constructor模式
Jan 14 Javascript
jquery-mobile基础属性与用法详解
Nov 23 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
Dec 08 Javascript
three.js绘制地球、飞机与轨迹的效果示例
Feb 28 Javascript
js实现小星星游戏
Mar 23 Javascript
JavaScript定时器使用方法详解
Mar 26 Javascript
使用PDF.js渲染canvas实现预览pdf的效果示例
Apr 17 Javascript
JS前端监控采集用户行为的N种姿势
Jul 23 Javascript
vuex 解决报错this.$store.commit is not a function的方法
Dec 17 #Javascript
详解Vue This$Store总结
Dec 17 #Javascript
vue + element-ui的分页问题实现
Dec 17 #Javascript
Vue 中的受控与非受控组件的实现
Dec 17 #Javascript
js实现移动端轮播图
Dec 21 #Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
Dec 16 #Javascript
微信小程序 JS动态修改样式的实现方法
Dec 16 #Javascript
You might like
oracle资料库函式库
2006/10/09 PHP
隐性调用php程序的方法
2009/03/09 PHP
php适配器模式介绍
2012/08/14 PHP
php解析http获取的json字符串变量总是空白null
2015/03/02 PHP
php-fpm添加service服务的例子
2018/04/27 PHP
PHP实现的XXTEA加密解密算法示例
2018/08/28 PHP
JS前端框架关于重构的失败经验分享
2013/03/17 Javascript
给超链接添加特效鼠标移动展示提示信息且随鼠标移动
2013/10/17 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
2018/03/21 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
2018/08/19 Javascript
WebGL学习教程之Three.js学习笔记(第一篇)
2019/04/25 Javascript
详解小程序云开发攻略(解决最棘手的问题)
2019/09/30 Javascript
微信小程序 (地址选择1)--选取搜索地点并显示效果
2019/12/17 Javascript
vue+elementui通用弹窗的实现(新增+编辑)
2021/01/07 Vue.js
[02:45]2016年中国刀塔全程回顾,完美“圣”典即将上演
2016/12/15 DOTA
Pycharm保存不能自动同步到远程服务器的解决方法
2019/06/27 Python
基于Python实现剪切板实时监控方法解析
2019/09/11 Python
全球摩托车装备领导者:RevZilla
2017/09/04 全球购物
超市实习总结自我鉴定
2013/09/19 职场文书
日语翻译个人求职的自我评价
2013/10/14 职场文书
销售自荐信
2013/10/22 职场文书
校园报刊亭的创业计划书
2014/01/02 职场文书
岗位廉政承诺书
2014/03/27 职场文书
学习雷锋寄语大全
2014/04/11 职场文书
班级标语大全
2014/06/21 职场文书
反腐倡廉标语
2014/06/24 职场文书
奖学金感谢信
2015/01/21 职场文书
幼儿园托班教育随笔
2015/08/14 职场文书
2016年教师节贺卡寄语
2015/12/04 职场文书
2016年感恩父亲节活动总结
2016/04/01 职场文书
2019年亲子运动会口号
2019/10/11 职场文书
python实现自动化群控的步骤
2021/04/11 Python
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
2021/08/02 MySQL
vue 数字翻牌器动态加载数据
2022/04/20 Vue.js
JDK8中String的intern()方法实例详细解读
2022/09/23 Java/Android