Vue之ajax请求表格数据时控制台能正常打印数据,但是无法渲染到页面上
原因:在 then的内部不能使用Vue的实例化的this, 因为在内部 this 没有被绑定
解决方法有:
(1)用ES6箭头函数,箭头方法可以和父方法共享变量
(2)在请求ajax外面定义一下 var that=this
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | new Vue({ el: "#app" , data: { sites: [], }, created: function () { //为了在内部函数能使用外部函数的this对象,要给它赋值了一个名叫self的变量。 var self = this ; $.ajax({ url: 'http://localhost:8080/student/json' , type: 'get' , dataType: 'json' }).then(function (res) { //把从json获取的数据赋值给数组 self.sites=res; console.log(getQueryVariable( "page" )) console.log(res.length) }).fail(function () { console.log( '失败' ); }) } }) |
本文作者:小魏同学呀
本文链接:https://www.cnblogs.com/weitongxue/p/16111888.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步