当前位置: 首页 > 知识库问答 >
问题:

使用Vue.js axios将本地图像链接到api阵列

萧阳波
2023-03-14

我对vue和axios非常陌生,需要很大的帮助。

我有一个API返回我一些数组数据。

应用程序编程接口:

"potions": {
"1": {
  "id": 1,
  "name": "Aging Potion",
  "image": "aging-potion.png",
  "price": 29.99,
  "effect": "Causes the drinker to advance in age",
  "ingredients": [
    "Red Wine",
    "Prune Juice",
    "Hairy Fungus",
    "Tortoise Shell",
    "Caterpillar",
    "Bat Tongue"
  ]
}

如您所见,Image在本地被调用。我的机器上的所有图像都在本地./img/Products.我是怎么把所有图像和V-for里的对应药水联系起来的?是可能的Javascript渲染图像是不是在同一个服务器作为api数据?

HTML代码:

 <div id="app">
    <section v-if="errored">
        <p>Pedimos desculpas, não estamos conseguindo recuperar as informações no momento. Por favor, tente
            novamente mais tarde.</p>
    </section>
    <div v-else>
        <div v-for="(potion, index) in potions_list" :key="index">
            <div class="img">

            </div>
            <h1>{{potion.name}}</h1>
            <!-- <p>{{potion.effect}}</p> -->
            <p>{{potion.price}}</p>
            <!-- <div v-for="(ingredient, index) in potion.ingredients" :key="index">
                        <ul>{{ingredient}}</ul>
                    </div> -->
        </div>
    </div>
</div>

JS代码:

new Vue({
el: '#app',
data() {
    return {
        potions_list: [],
        errored: false,
    }
},
mounted: function () {
    this.getAllPotions();
},
mounted() {
    axios
        .get('https://cdn.rawgit.com/LucasRuy/1d4a5d45e2ea204d712d0b324af28bab/raw/342e0e9277be486102543c7f50ef5fcf193234b6/potions.json')
        .then((response) => {
            const { potions } = response.data;
            this.potions_list = potions;
            console.log(potions);
        })
        .catch(error => {
            console.log(error)
            this.errored = true
        })
},

})

共有2个答案

乌和畅
2023-03-14

如果您使用的是vue cli或任何基于绑定器的工具,则可以将路径与来自API的图像名称连接起来,并使用require加载路径:

<img :src="require('./img/products/'+potion.image)" />
慕容聪
2023-03-14

您需要将图像名称绑定到src

<img :src="`./img/products/${potion.image}`" />
 类似资料:
  • 一些背景,我正在开发Java游戏,我正在使用Netbeans来构建它,我目前有2个java文件 App.java 董事会.java 现在我可以创建和显示一个简单的棋盘与所有的棋子在正确的位置我的问题是分配任何鼠标事件到这些棋子 目前,我使用textpad编写测试代码,并且没有图像的文件夹链接,并且已经能够让鼠标事件在那里工作,因此我知道事件的代码没有问题。 但是现在我正在Netbean中编写程序清

  • 如何将本地映像添加到IJulia笔记本?图像与IPYNB文件位于同一本地网络文件夹中。通过符号链接访问该文件夹。我尝试了相对和绝对文件名。 两者显示相同,即符号旁边带有“图像测试”的断开图像链接。 Jupyter信息: 朱莉娅信息:

  • 我正在尝试添加位图到谷歌地图标记图标。 下面是我将图像添加到标记图标的代码。由于位图大小,应用程序正在崩溃 错误:java。lang.IllegalArgumentException:尺寸为4096x8192的纹理大于支持的最大尺寸4096x4096

  • 我有一个使用Maven创建的spring项目。下面是我的目录结构。 我想添加css图像到这个项目。为此,我在web-inf目录中创建了一个resources文件夹,并在其中放置了一个图像。对于我的dispatcher servlet xml,我添加了3行与MVC有关的内容。其中一行位于xmlns:mvc中,另外2行位于模式位置的最后2行: http://www.springframework.or

  • 而不是在Docker中或单独的卷中拥有MySQL数据库,我希望Docker连接到我在本地运行的已有的MySQL数据库。 这是我的docker-compose.yml文件:

  • API 当请求命中API时,文件计数为0。我花了整整两天的时间来找出哪里出了问题,但也无法找出问题。我不认为代码有问题,因为对其他一些人来说,它是工作的。我从不同的代码,所以接受答案。谁能帮我弄清楚出了什么问题吗?