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 一些用法小结
Sep 11 Javascript
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
Jun 02 Javascript
jQuery Jcrop插件实现图片选取功能
Nov 23 Javascript
JavaScript数组各种常见用法实例分析
Aug 04 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
Nov 03 Javascript
JS实现字符串转驼峰格式的方法
Dec 16 Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
Jun 01 Javascript
微信小程序使用input组件实现密码框功能【附源码下载】
Dec 11 Javascript
JS实现的DOM插入节点操作示例
Apr 04 Javascript
Next.js实现react服务器端渲染的方法示例
Jan 06 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
Apr 23 Javascript
解决layui数据表格table的横向滚动条显示问题
Sep 04 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 事件机制(2)
2011/03/23 PHP
php+html5基于websocket实现聊天室的方法
2015/07/17 PHP
浅析jQuery中常用的元素查找方法总结
2013/07/04 Javascript
javascript实现简单的省市区三级联动
2015/05/14 Javascript
javascript实现简单的分页特效
2015/08/12 Javascript
Vue.js每天必学之表单控件绑定
2016/09/05 Javascript
JS声明式函数与赋值式函数实例分析
2016/12/13 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
2017/01/12 Javascript
详细讲解vue2+vuex+axios
2017/05/27 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
解决vue项目报错webpackJsonp is not defined问题
2018/03/14 Javascript
vue.js中npm安装教程图解
2018/04/10 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
vue基础之事件v-onclick="函数"用法示例
2019/03/11 Javascript
微信小程序实现简单文字跑马灯
2020/05/26 Javascript
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
在python中实现同行输入/接收多个数据的示例
2019/07/20 Python
Python中生成一个指定长度的随机字符串实现示例
2019/11/06 Python
Python3基于print打印带颜色字符串
2020/07/06 Python
Visual Studio code 配置Python开发环境
2020/09/11 Python
python 爬取免费简历模板网站的示例
2020/09/27 Python
Python学习工具jupyter notebook安装及用法解析
2020/10/23 Python
windows+vscode安装paddleOCR运行环境的步骤
2020/11/11 Python
calendar在python3时间中常用函数举例详解
2020/11/18 Python
CSS3中的content属性使用示例
2015/07/20 HTML / CSS
葡萄牙鞋子品牌:Fair
2016/12/10 全球购物
食堂标语大全
2014/06/11 职场文书
民族学专业求职信
2014/07/28 职场文书
纪念9.18事变演讲稿
2014/09/14 职场文书
四查四看整改措施
2014/09/19 职场文书
2014年学校安全工作总结
2014/11/13 职场文书
志愿者个人总结
2015/03/03 职场文书
新年寄语2016
2015/08/17 职场文书
高二数学教学反思
2016/02/18 职场文书
Redis实战高并发之扣减库存项目
2022/04/14 Redis
Oracle查看表空间使用率以及爆满解决方案详解
2022/07/23 Oracle