刚开始学vue的时候没有使用脚手架,现在用脚手架写法有点不同,今天遇到的问题是使用豆瓣api异步加载数据的时候,会一直在命令行上报错,基本上错误都是xxx 未定义。
例子
<template> <div v-if="moviesData"> <!-- 正在上映的电影-北京 --> <h2>{{ moviesData.title }}</h2> </div> </template> <script> import jsonp from 'jsonp' // 一个jsonp插件 npm install jsonp --save export default { data(){ return { moviesData: null // 如果不事先给一个默认值的data,就会报 xxx is not define } }, // 生命周期函数 created(){ // 发送请求 jsonp('https://api.douban.com/v2/movie/in_theaters', null, (err, data)=>{ this.moviesData = data; }); } } </script>
在发送异步请求的时候要注意两个点:
数据的初始值,我这里是给null
作为初始值。
判断数据是否存在,在html中,我用v-if
判断moviesData
是否存在,可以确保只有在数据存在的时候才会渲染。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。