vue.js - 如何在 Vue JS 中插入 dom 元素?
问题描述
我有 vue JS 文件,在其中,我使用“v-for”显示图像。检查下面的代码
<div id="peopleimages">
<img
:src="item.thumbnailLink"
v-bind:id="'profile'+item.id"
v-masonry-tile
class="item"
v-for="(item, index) in images"
:key="index"
/>
</div>
上面的代码将显示从服务器获取的图像列表。
现在,我想明确插入一张图片作为第一张图片。之后,应填充图像列表。
我尝试使用 Java 脚本,但事实证明,我无法在 vue js 文件中插入标签。
如何在开头明确插入图像?
谢谢!
解决方案
最简单的方法是将另一个图像插入images
数组的开头:
const newImage = {
thumbnailLink: "path-to-new-image",
id: "unique-id"
}
this.images.unshift(newImage);
请记住,如果您使用 index 作为,当您更改元素顺序时:key
,它可能会导致一些不需要的行为。
另一种方法是创建一个不属于图像数组的数据,并有条件地在模板上显示它
<div id="peopleimages">
<img
v-if="firstImage"
:src="firstImage"
class="item" />
<img
:src="item.thumbnailLink"
v-bind:id="'profile'+item.id"
v-masonry-tile
class="item"
v-for="(item, index) in images"
:key="index"
/>
</div>
并在脚本上
data() {
return {
firstImage: ""
}
},
methods: {
setFirstImage() {
this.firstImage = "path-to-first-image"
}
}
推荐阅读
- heroku - 如何解决上传heroku时的推送错误?
- flutter - Android Studio 中的颤振测试命令
- c - stm32f103 adc稳定转换
- php - 在 Windows 上安装 PHP 8.0.9 时找不到 phpmyadmin
- flutter - 集成测试在颤振驱动中工作正常,但在 Firebase 测试实验室中输入文本时挂起
- javascript - Discord Api 必须为客户端提供有效意图
- html - 一些元素不使用 Bootstrap 居中
- flutter - Flutter 中的本地调度通知
- java - 无法在 Spring Boot 应用程序中回滚 Aspect 中的数据库更改
- python - Python请求'[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败:无法获取本地颁发者证书(_ssl.c:1091)'