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 Event学习第十一章 按键的检测
Feb 10 Javascript
Javascript load Page,load css,load js实现代码
Mar 31 Javascript
jquery.gridrotator实现响应式图片展示画廊效果
Jun 23 Javascript
详解maxlength属性在textarea里奇怪的表现
Dec 27 Javascript
如何使用Bootstrap创建表单
Mar 29 Javascript
详解vue mixins和extends的巧妙用法
Dec 20 Javascript
webpack打包js的方法
Mar 12 Javascript
JavaScript实现的简单Tab点击切换功能示例
Jul 06 Javascript
Angular 2使用路由自定义弹出组件toast操作示例
May 10 Javascript
微信小程序动态设置图片大小的方法
Nov 21 Javascript
用vite搭建vue3应用的实现方法
Feb 22 Vue.js
vue脚手架项目创建步骤详解
Mar 02 Vue.js
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
apache mysql php 源码编译使用方法
2012/05/03 PHP
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
2012/06/07 PHP
基于PHP静态类的原罪详解
2013/05/06 PHP
zf框架的数据库追踪器使用示例
2014/03/13 PHP
浅析PHP编程中10个最常见的错误
2014/08/08 PHP
php代码架构的八点注意事项
2016/01/25 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
拖动一个HTML元素
2006/12/22 Javascript
Javascript 模式实例 观察者模式
2009/10/24 Javascript
基于jQuery架构javascript基础体系
2011/01/01 Javascript
了解jQuery技巧来提高你的代码(个人觉得那个jquery的手册很不错)
2012/02/10 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2013/11/14 Javascript
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
jsp 网站引入外部css或者js失效问题解决
2016/10/31 Javascript
详解在Angular项目中添加插件ng-bootstrap
2017/07/04 Javascript
vue-better-scroll 的使用实例代码详解
2018/12/03 Javascript
微信小程序单选radio及多选checkbox按钮用法示例
2019/04/30 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
2019/11/10 Javascript
VSCode搭建Vue项目的方法
2020/04/30 Javascript
详解Python中的正则表达式的用法
2015/04/09 Python
Python函数返回值实例分析
2015/06/08 Python
神经网络python源码分享
2017/12/15 Python
实例详解Python模块decimal
2019/06/26 Python
python爬虫 Pyppeteer使用方法解析
2019/09/28 Python
菲律宾旅游网站:Expedia菲律宾
2017/10/11 全球购物
JackJones官方旗舰店:杰克琼斯男装
2018/03/27 全球购物
印尼极简主义和实惠的在线家具店:Fabelio
2019/03/27 全球购物
玲玲的画教学反思
2014/02/04 职场文书
《登鹳雀楼》教学反思
2014/04/09 职场文书
安全责任协议书
2014/04/21 职场文书
会计求职信范文
2014/05/24 职场文书
成本会计实训报告
2014/11/05 职场文书
2014年妇联工作总结
2014/11/21 职场文书
基层党建工作简报
2015/07/21 职场文书
教你怎么用Python操作MySql数据库
2021/05/31 Python
victoriaMetrics库布隆过滤器初始化及使用详解
2022/04/05 Golang