使用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
相似问题