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 相关文章推荐
json-lib出现There is a cycle in the hierarchy解决办法
Feb 24 Javascript
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性
Aug 28 Javascript
JavaScript中的关键字"VAR"使用详解 分享
Jul 31 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
Jan 07 Javascript
javascript事件冒泡实例分析
May 13 Javascript
Javascript中的getUTCDay()方法使用详解
Jun 10 Javascript
理解javascript定时器中的setTimeout与setInterval
Feb 23 Javascript
js+html5实现canvas绘制椭圆形图案的方法
May 21 Javascript
js获取一组日期中最近连续的天数
May 25 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
Jun 09 jQuery
vue 使用鼠标滚动加载数据的例子
Oct 31 Javascript
layui前端时间戳转化实例
Nov 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转成EXE文件
2006/10/09 PHP
php 接口类与抽象类的实际作用
2009/11/26 PHP
微信扫描二维码登录网站代码示例
2013/12/30 PHP
PHP微信开发之查询城市天气
2016/06/23 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
2017/02/16 PHP
JavaScript Event学习第二章 Event浏览器兼容性
2010/02/07 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
IE无法设置短域名下Cookie
2010/09/23 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
使用Nodejs连接mongodb数据库的实现代码
2017/08/21 NodeJs
基于jQuery实现Ajax验证用户名是否可用实例
2018/03/25 jQuery
node+koa2+mysql+bootstrap搭建一个前端论坛
2018/05/06 Javascript
javascript设计模式 ? 工厂模式原理与应用实例分析
2020/04/09 Javascript
微信小程序实现电子签名功能
2020/07/29 Javascript
[47:45]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第一场 2月26日
2021/03/11 DOTA
python在linux中输出带颜色的文字的方法
2014/06/19 Python
分析在Python中何种情况下需要使用断言
2015/04/01 Python
python+Django+apache的配置方法详解
2016/06/01 Python
使用matplotlib画散点图的方法
2018/05/25 Python
python多线程并发让两个LED同时亮的方法
2019/02/18 Python
python实现动态数组的示例代码
2019/07/15 Python
pycharm中显示CSS提示的知识点总结
2019/07/29 Python
python笔记_将循环内容在一行输出的方法
2019/08/08 Python
Python定时任务随机时间执行的实现方法
2019/08/14 Python
Django视图扩展类知识点详解
2019/10/25 Python
Python判断三段线能否构成三角形的代码
2020/04/12 Python
详解CSS3新增的背景属性
2019/12/25 HTML / CSS
CSS3 旋转立方体问题详解
2020/01/09 HTML / CSS
美国克罗格超市在线购物:Kroger
2019/06/21 全球购物
Delphi CS笔试题
2014/01/04 面试题
优秀求职信范文分享
2013/12/19 职场文书
雷人标语集锦
2014/06/19 职场文书
感恩老师演讲稿600字
2014/08/28 职场文书
2014年大学生党员评议表自我评价
2014/09/20 职场文书
同意迁入证明模板
2014/10/26 职场文书
神龙架导游词
2015/02/11 职场文书