Vue 报错TypeError: this.$set is not a function 的解决方法
网络编程 2021-07-04 16:47www.168986.cn编程入门
这篇文章主要介绍了Vue 报错TypeError: this.$set is not a function 的解决方法,分享给大家,需要的朋友们狼蚁网站SEO优化随着长沙网络推广来一起学习学习吧
报错场景:将APi中得到的response数据,用Vue$set()使数据动态响应
报错代码:
methods: { textTranslate: function (text, to) { $.ajax({ url: 'http://openapi.youdao./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) }, suess: 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./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) }, suess: function (data) { vm.$set(vm.$data, 'translatedText', data.translation[0]) } }) } }
解决方法2:将。siess改为箭头函数的写法,这样子箭头函数里的this其实是指向VueModel的,这样子用this看不会报错了
suess: (data) => { this.$set(this.$data, 'translatedText', data.translation[0]) }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- 机械手焊接机器人编程 机械手焊接设备编程
- vb数据库编程实例,vb做数据库
- tiobe世界编程语言排行榜,全球编程语言排行
- 成都java编程培训 成都it编程培训中心
- 编程基础培训,编程基础知识培训
- flash游戏编程基础教程,flash游戏开发教程
- 不会英语能学编程吗 不会英语可以学程序员吗
- 爱心代码编程C语言 爱心代码编程c语言公式
- c语言编程学习入门 c语言编程快速入门
- 西门子plc编程培训 西门子plc编程培训班
- 哪里可以学编程 台州哪里可以学编程
- 少儿编程哪个好 少儿编程哪个品牌好
- 编程是什么意思,图形编程是什么意思
- c语言编程软件下载,c语言编程软件在哪下载
- java编程软件下载,java编程下载手机版
- ug编程培训学校,ug编程培训教程