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 相关文章推荐
让Firefox支持event对象实现代码
Nov 07 Javascript
EXTjs4.0的store的findRecord的BUG演示代码
Jun 08 Javascript
JavaScript中的变量定义与储存介绍
Dec 31 Javascript
jQuery获得指定元素坐标的方法
Apr 14 Javascript
使用JavaScript刷新网页的方法
Jun 04 Javascript
AngularJS 2.0新特性有哪些
Feb 18 Javascript
JavaScript基本类型值-Number类型
Feb 24 Javascript
Node.js  REPL (交互式解释器)实例详解
Aug 06 Javascript
浅谈vue引入css,less遇到的坑和解决方法
Jan 20 Javascript
webpack4.0打包优化策略整理小结
Mar 30 Javascript
JavaScript实现省市区三级联动
Feb 13 Javascript
关于JavaScript 中 if包含逗号表达式
Nov 27 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实现的下载远程图片自定义函数分享
2015/01/28 PHP
PHP快速生成各种信息提示框的方法
2016/02/03 PHP
PHP常用函数总结(180多个)
2016/12/25 PHP
php 判断页面或图片是否经过gzip压缩的方法
2017/04/05 PHP
js获取指定的cookie的具体实现
2014/02/20 Javascript
轻松创建nodejs服务器(8):非阻塞是如何实现的
2014/12/18 NodeJs
JavaScript设置获取和设置属性的方法
2015/03/04 Javascript
jQuery中$.ajax()和$.getJson()同步处理详解
2015/08/12 Javascript
轻松学习jQuery插件EasyUI EasyUI创建菜单与按钮
2015/11/30 Javascript
Node解决简单重复问题系列之Excel内容的获取
2018/01/02 Javascript
浅谈Vue路由快照实现思路及其问题
2018/06/07 Javascript
Angularjs之ngModel中的值验证绑定方法
2018/09/13 Javascript
微信小程序判断页面是否从其他页面返回的实例代码
2019/07/03 Javascript
nuxt引入组件和公共样式的操作
2020/11/05 Javascript
[01:03]DOTA2新的征程 你的脚印值得踏上
2014/08/13 DOTA
详解Python的Django框架中的Cookie相关处理
2015/07/22 Python
Python3.5 Pandas模块之Series用法实例分析
2019/04/23 Python
python 一个figure上显示多个图像的实例
2019/07/08 Python
解析python的局部变量和全局变量
2019/08/15 Python
TensorFlow梯度求解tf.gradients实例
2020/02/04 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
2020/04/22 Python
python初步实现word2vec操作
2020/06/09 Python
详解python的super()的作用和原理
2020/10/29 Python
python中reload重载实例用法
2020/12/15 Python
python制作微博图片爬取工具
2021/01/16 Python
CSS3实现可关闭的下拉手风琴菜单效果
2015/08/31 HTML / CSS
上级检查欢迎词
2014/01/18 职场文书
活动总结报告范文
2014/05/04 职场文书
门卫岗位职责说明书
2014/08/18 职场文书
放弃继承权公证书
2015/01/23 职场文书
讲座新闻稿
2015/07/18 职场文书
新学期开学寄语2016
2015/12/04 职场文书
python实现求纯色彩图像的边框
2021/04/08 Python
Java基础-封装和继承
2021/07/02 Java/Android
使用Redis实现实时排行榜功能
2021/07/02 Redis
vue postcss-px2rem 自适应布局
2022/05/15 Vue.js