【问题标题】:How to show images related to ID in a database?如何在数据库中显示与 ID 相关的图像?
【发布时间】:2019-07-03 13:55:56
【问题描述】:

我在 vue.js/native 中有一个搜索栏,它提供了数据库中与给定关键字匹配的图像的预览列表。我想要实现的是,在单击其中一个预览图像后,将显示该图像。到目前为止,我只能通过输入其 url 来获得所有预览图像的相同图像。每个图像的 url 都是相同的,唯一的区别是唯一的 ID(例如https://myimagedatabase.com/cases/getImage.php?id=1https://myimagedatabase.com/cases/getImage.php?id=2https://myimagedatabase.com/cases/getImage.php?id=3 等)

到目前为止,我已经尝试过:

 <Image src="https://myimagedatabase.com/cases/getImage.php?id=1/>

它返回图像,但当然对于我的预览列表中的每个项目都是相同的。

也试过了:

<Image src="https://myimagedatabase.com/cases/getImage.php?id=" + result[i].myIDs />

(myIDS 之前已定义。我知道这是错误的,但我认为最好的方法应该是编写链接的公共部分,然后添加与给定 ID 相关的 ID 号)。

我还尝试将图像设置为变量,为每个 ID 添加唯一 ID 号并使用 document.write 显示它,但它不起作用。

提前感谢您的帮助和建议

【问题讨论】:

  • 查看您的&lt;template&gt; 的更多上下文会很有帮助。

标签: javascript vue.js vuejs2 nativescript-vue


【解决方案1】:

这是一个相当广泛的问题,有很多方法可以实现您想要做的事情。

您可能会执行以下操作:

<template>
...
    <Image v-for="image in result" :src="getImageSrc(image.myIDs)"/>
...
</template>

<script>
...
  methods: {
  ...
    getImageSrc: (id) => `https://myimagedatabase.com/cases/getImage.php?id=${id}`
  ...
  }
...
</script>

我在您的代码中看到了result[i].myIDs

确保您使用v-for 来迭代模板语句。有关示例,请查看 Vue 文档的 List Rendering 部分。

【讨论】:

  • 嗨尼克,感谢您的回复。现在我有另一个问题(对不起,我是新手):我创建了另一个 .vue 文件,我在其中编写(或至少我尝试这样做)一旦预览项目之一显示图像的功能点击。这个 .vue 文件被导入到主 .vue 中,但问题是它无法识别我在主文件中定义的变量。您知道如何使以前在另一个文件中定义的变量可以从辅助文件中调用吗?再次感谢
猜你喜欢
  • 1970-01-01
  • 2017-05-31
  • 1970-01-01
  • 2013-05-19
  • 1970-01-01
  • 2022-01-26
  • 2021-03-27
  • 1970-01-01
相关资源
最近更新 更多