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 相关文章推荐
用函数式编程技术编写优美的 JavaScript
Nov 25 Javascript
首页图片漂浮效果示例代码
Jun 05 Javascript
JavaScript eval() 函数介绍及应用示例
Jul 29 Javascript
js运动应用实例解析
Dec 28 Javascript
js导出excel文件的简洁方法(推荐)
Nov 02 Javascript
Bootstrap整体框架之CSS12栅格系统
Dec 15 Javascript
JS获取本周周一,周末及获取任意时间的周一周末功能示例
Feb 09 Javascript
vue项目中使用axios上传图片等文件操作
Nov 02 Javascript
vue将单页面改造成多页面应用的方法
Nov 25 Javascript
vue单文件组件lint error自动fix与styleLint报错自动fix详解
Jan 08 Javascript
在Vue中使用CSS3实现内容无缝滚动的示例代码
Nov 27 Vue.js
关于javascript中的promise的用法和注意事项(推荐)
Jan 15 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
PHP SESSION机制的理解与实例
2019/03/22 PHP
Smarty模板配置实例简析
2019/07/20 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
基于jquery的图片的切换(以数字的形式)
2011/02/14 Javascript
js特效,页面下雪的小例子
2013/06/17 Javascript
jQuery之ajax删除详解
2014/02/27 Javascript
JS实现单行文字不间断向上滚动的方法
2015/01/29 Javascript
JavaScript九九乘法口诀表的简单实现
2016/10/04 Javascript
JS中Select下拉列表类(支持输入模糊查询)功能
2017/01/17 Javascript
easyui 中的datagrid跨页勾选问题的实现方法
2017/01/18 Javascript
JS得到当前时间的方法示例
2017/03/24 Javascript
js实现一个简单的MVVM框架示例
2018/01/15 Javascript
vue中实现在外部调用methods的方法(推荐)
2018/02/08 Javascript
webpack本地开发环境无法用IP访问的解决方法
2018/03/20 Javascript
vue左右侧联动滚动的实现代码
2018/06/06 Javascript
Vue+element-ui 实现表格的分页功能示例
2018/08/18 Javascript
通过vue-cli3构建一个SSR应用程序的方法
2018/09/13 Javascript
详解写好JS条件语句的5条守则
2019/02/28 Javascript
vue项目前端埋点的实现
2019/03/06 Javascript
详解vue-cli中使用rem,vue自适应
2019/05/06 Javascript
jquery实现选项卡切换代码实例
2019/05/14 jQuery
[01:48]2018DOTA2亚洲邀请赛主赛事第二日五佳镜头 VG完美团战逆转TNC
2018/04/05 DOTA
python实现的udp协议Server和Client代码实例
2014/06/04 Python
Python 备份程序代码实现
2017/03/06 Python
Python简单生成随机姓名的方法示例
2017/12/27 Python
使用Python实现在Windows下安装Django
2018/10/17 Python
python地震数据可视化详解
2019/06/18 Python
python二进制读写及特殊码同步实现详解
2019/10/11 Python
PyTorch的自适应池化Adaptive Pooling实例
2020/01/03 Python
HTML5 Canvas绘制圆点虚线实例
2015/01/01 HTML / CSS
LN-CC日本:高端男装和女装的奢侈时尚目的地
2019/09/01 全球购物
英国豪华家具和经典家居饰品购物网站:OKA
2020/06/05 全球购物
青春励志演讲稿
2014/04/29 职场文书
2014年财政局工作总结
2014/12/09 职场文书
明星邀请函
2015/02/02 职场文书
Python面试不修改数组找出重复的数字
2022/05/20 Python