使用ajax获取到数据后不能把数据渲染到页面上
来源:6-5 使用 Mockjs 来模拟数据

mangolime
2017-03-28
<template> <div id="app"> <router-view></router-view> <ul> <li v-for="subject in movieData.subjects">{{ subject.title }}</li> </ul> </div> </template> <script> import $ from 'jquery' export default { name: 'app', data() { return { movieData: {} } }, created() { $.ajax('http://api.douban.com/v2/movie/in_theaters', { dataType: 'jsonp', success: function (res) { this.movieData = res console.log(this.movieData) } }) } } </script>
console.log能打印出获取到的数据,但是页面却不能渲染出数据,最新版的vue
写回答
2回答
-
fishenal
2017-03-28
对,这是es6箭头函数的特性,this是代码环境的this,以前的js 函数体内的this是运行环境的this。
如果不用箭头函数,你可以在created外层,设一个 var me = this, 然后再success里用me 代替 this
00 -
mangolime
提问者
2017-03-28
不好意思,已经解决了。原因是因为没有使用箭头函数将this值绑定到这个组建对象上。
00
相似问题