Javascript 无法在VueJS 2中从created()到data()获取数据
我正在从创建的方法内的API获取数据,我希望在页面中使用这些数据 这是我的密码Javascript 无法在VueJS 2中从created()到data()获取数据,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我正在从创建的方法内的API获取数据,我希望在页面中使用这些数据 这是我的密码 created(){ let id = this.$route.params.id let videos; this.$axios.get(this.$axios.defaults.apiURL + 'v1.0.0/tips/' +id,).then((response) => { this.videos = response.data.data; }, (err
created(){
let id = this.$route.params.id
let videos;
this.$axios.get(this.$axios.defaults.apiURL + 'v1.0.0/tips/' +id,).then((response) => {
this.videos = response.data.data;
}, (error) => {
toast.$toast.error('Something went wrong! Please try again', {
position: 'top'
})
});
},
data(){
let videos = this.videos;
return {
video: {
sources: [{
src: videos.video_url,
type: 'video/mp4'
}],
options: {
autoplay: true,
volume: 0.6,
poster: videos.thumbnail
}
}
}
}
我得到一个错误,缩略图和视频url没有定义。这2个值来自API响应。我怎样才能解决这个问题?谢谢我可以看到您的代码有两个明显的问题(没有看到它的实际应用):
是一个,但您的axios请求返回一个承诺。你没有等待承诺,而是立即尝试显示结果,因此你遇到了一个问题——数据还没有到达created
- 你使用
似乎有点混乱(即这个
-?唯一的其他“视频”是)让视频=这个。视频
data(){
返回{
加载:对,
视频:空,
}
},
计算:{
视频(){
把这个还给我,好吗{
资料来源:[{
src:this.videos.video\u url,
类型:“视频/mp4”
}],
选项:{
自动播放:对,
体积:0.6,,
发信人:this.videos.缩略图
}
}:null
}
},
方法:{
fetch(){
设id=this.$route.params.id
this.$axios.get(this.$axios.defaults.apirl+'v1.0.0/tips/'+id,)。然后((响应)=>{
this.videos=response.data.data;
},(错误)=>{
toast.$toast.error('出现问题!请重试'{
位置:'顶部'
})
}).最后(()=>(this.loading=false));
},
},
创建(){
this.fetch()
},
我可以看到您的代码存在两个明显的问题(没有看到它的实际作用):
是一个,但您的axios请求返回一个承诺。你没有等待承诺,而是立即尝试显示结果,因此你遇到了一个问题——数据还没有到达created
- 你使用
似乎有点混乱(即这个
-?唯一的其他“视频”是)让视频=这个。视频
data(){
返回{
加载:对,
视频:空,
}
},
计算:{
视频(){
把这个还给我,好吗{
资料来源:[{
src:this.videos.video\u url,
类型:“视频/mp4”
}],
选项:{
自动播放:对,
体积:0.6,,
发信人:this.videos.缩略图
}
}:null
}
},
方法:{
fetch(){
设id=this.$route.params.id
this.$axios.get(this.$axios.defaults.apirl+'v1.0.0/tips/'+id,)。然后((响应)=>{
this.videos=response.data.data;
},(错误)=>{
toast.$toast.error('出现问题!请重试'{
位置:'顶部'
})
}).最后(()=>(this.loading=false));
},
},
创建(){
this.fetch()
},