天文学图Vue应用

Posted

技术标签:

【中文标题】天文学图Vue应用【英文标题】:Astronomy picture of the day Vue application 【发布时间】:2021-06-30 19:13:45 【问题描述】:

我是 vue 的新手,我正在尝试从 NASA 调用 APOD(当天的天文图片),以便我可以每天显示一张新图片。我正在制作一个名为 Picture.vue 的新 Vue 组件,我在其中完成对 APOD api 的所有访问。我已经能够从响应有效负载中获取要显示的图片的正确 url(并存储在一个名为“apod”的变量中),但简单地说,我不知道如何将“apod”变量作为“ src' 值转换为常规 html 'img' 标签或 vuetify 'v-img' 标签。我觉得这可以通过 v-bind 解决,但就像我说我是 Vue 的新手,所以任何提示或指导将不胜感激。

图片.vue


  <section class="picture">
    <h1>picture Component</h1>
    <v-img src="apod"></v-img>
  </section>

</template>

<script lang="js">
const url =  "https://api.nasa.gov/planetary/apod?api_key=" + process.env.VUE_APP_KEY;
const axios = require('axios');
 


  export default  
    name: 'picture',
    props: [],
    async created () 
      console.log("https://api.nasa.gov/planetary/apod?api_key=" + process.env.VUE_APP_KEY);
    //   axios.get(url)
    // .then(response => this.apod = response.data.url);
      const response = await axios.get(url);
      this.apod = response.data.url;
      console.log(response);
    ,
    data () 
      
      return 
        apod: null
      
    ,
    methods: 

    ,
    computed: 

    ,

  state () 
     
  ,

   



</script>

<style scoped lang="scss">
  .picture 

  
</style>

App.vue

<template>
  <v-app>
      <Picture></Picture>
  </v-app>
</template>

<script>
 import Picture from './components/Picture'
   
export default 
  
  name: 'App',
  
  components: 
    Picture,
  ,
  
  
  
  


  data() 
    
    return 
         
    
  
;
</script>

总之,我的问题是如何将“apod”变量作为“src”的值放入图像标签(Vuetify 或 HTML)中?

非常感谢大家复活节快乐!

【问题讨论】:

【参考方案1】:

使用 :src 并删除

喜欢这个

&lt;v-img :src="this.apod" /&gt;

【讨论】:

以上是关于天文学图Vue应用的主要内容,如果未能解决你的问题,请参考以下文章

vue-router单页应用简单示例

Vue实现音乐播放器:jsonp的应用+抓取轮播图数据

基于VUE的SPA单页应用开发-加载性能篇

如何使用Vue.js中的路由vue-router创建单页应用

我可以将 NativeScript-vue 与现成的 vue 应用程序一起使用吗?

vue.js之使用Vue CLI3开发多页面应用-路由理解