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 相关文章推荐
Extjs中ComboBox加载并赋初值的实现方法
Mar 22 Javascript
使用PHP+JQuery+Ajax分页的实现
Apr 23 Javascript
js动态修改整个页面样式达到换肤效果
May 23 Javascript
javascript先序遍历DOM树的方法
Feb 27 Javascript
JavaScript判断页面加载完之后再执行预定函数的技巧
May 17 Javascript
Bootstrap简单表单显示学习笔记
Nov 15 Javascript
浅述节点的创建及常见功能的实现
Dec 15 Javascript
JS作用域链详解
Jun 26 Javascript
bootstrap Table的一些小操作
Nov 01 Javascript
基于Vue 服务端Cookies删除的问题
Sep 21 Javascript
ES2020 已定稿,真实场景案例分析
May 25 Javascript
解决vue net :ERR_CONNECTION_REFUSED报错问题
Aug 13 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使用curl模拟登录后采集页面的例子
2013/11/04 PHP
PHP序列化操作方法分析
2016/09/28 PHP
用prototype实现的简单小巧的多级联动菜单
2007/03/24 Javascript
JavaScript 不只是脚本
2007/05/30 Javascript
Aptana调试javascript图解教程
2009/11/30 Javascript
js null undefined 空区别说明
2010/06/13 Javascript
菜鸟javascript基础整理1
2010/12/06 Javascript
JavaScript中switch语句的用法详解
2015/06/03 Javascript
jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解
2016/01/19 Javascript
JS创建对象的写法示例
2016/11/04 Javascript
js实现消息滚动效果
2017/01/18 Javascript
原生JS实现图片网格式渐显、渐隐效果
2017/06/05 Javascript
js实现多张图片延迟加载效果
2017/07/17 Javascript
微信小程序实现点赞、取消点赞功能
2018/11/02 Javascript
VuePress 中如何增加用户登录功能
2019/11/29 Javascript
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
vue单应用在ios系统中实现微信分享功能操作
2020/09/07 Javascript
在vue中使用Echarts画曲线图的示例
2020/10/03 Javascript
vue 图片裁剪上传组件的实现
2020/11/12 Javascript
[01:14]3.19DOTA2发布会 三代刀塔人第二代
2014/03/25 DOTA
浅析Python3爬虫登录模拟
2018/02/07 Python
浅谈tensorflow之内存暴涨问题
2020/02/05 Python
python如何安装下载后的模块
2020/07/03 Python
python中的django是做什么的
2020/07/31 Python
python用tkinter实现一个gui的翻译工具
2020/10/26 Python
CSS3实现瀑布流布局与无限加载图片相册的实例代码
2016/12/22 HTML / CSS
canvas绘制圆角头像的实现方法
2019/01/17 HTML / CSS
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
C&A巴西网上商店:时尚、衣服、手机和鞋子
2020/06/07 全球购物
导购员的岗位职责
2014/02/08 职场文书
小学生学雷锋演讲稿
2014/04/25 职场文书
售后客服个人自我评价
2014/09/14 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
青年岗位能手事迹材料
2014/12/23 职场文书
法务专员岗位职责
2015/02/14 职场文书
「Manga Time Kirara MAX」2022年5月号封面公开
2022/03/21 日漫