【发布时间】:2018-06-06 16:10:58
【问题描述】:
这是我的 JSON 数据,其中包含按钮和图像 URL 映射:
buttonDetails= [ {
"name": "button1",
"images": [{
"url": "https://localhost:8080/asset/d304904a-1bbd-11e6-90b9-55ea1f18bbbb.png"
},
{
"url": "https://localhost:8080/asset/d304904a-1bbd-11e6-90b9-55ea1f18bbbb.png"
},
{
"url": "https://localhost:8080/asset/d304904a-1bbd-11e6-90b9-55ea1f18bbbb.png"
}
]
},
{
"name": "button2",
"images": [{
"url": "https://localhost:8080/asset/d304904a-1bbd-11e6-90b9-55ea1f18bbbb.png"
},
{
"url": "https://localhost:8080/asset/d304904a-1bbd-11e6-90b9-55ea1f18bbbb.png"
},
{
"url": "https://localhost:8080/asset/d304904a-1bbd-11e6-90b9-55ea1f18bbbb.png"
}
]},
{
"name": "button3",
"images": [{
"url": "https://localhost:8080/asset/d304904a-1bbd-11e6-90b9-55ea1f18bbbb.png"
},
{
"url": "https://localhost:8080/asset/d304904a-1bbd-11e6-90b9-55ea1f18bbbb.png"
},
{
"url": "https://localhost:8080/asset/d304904a-1bbd-11e6-90b9-55ea1f18bbbb.png"
}
]
}]
在页面加载时呈现与button1 相关的所有按钮和图像的模板代码:
<template>
<ul class="images-list" v-for="(button,index) in buttonDetails" v-if="index == button1">
<li v-for="image in button.images" v-if="image.style=='750WX750H'">
<img :src="image.url" alt="" @click="zoom1 = true" @mousemove="moveBG">
<div class="image-hover" :style="{ backgroundImage: 'url(' + image.url + ')' }"></div>
<modal v-model="zoom1" class="image-zoom">
<div>
<img :src="image.url" :style="{transform:'translateY(' + translateY + 'px)'}" @mousemove.self="onMouseMove($event)">
</div>
</modal>
</li>
</ul>
<ul class="button-list">
<li v-for="button of this.buttonDetails">{{button.name}}</a></li>
</ul>
</template>
因此,根据每个按钮单击,我必须根据Buttondetails 变量中给定的 JSON 更改图像源。请指导我。
下面循环的每个按钮都有其关联的图像。在给定的时间点,只有一个按钮及其对应的图像集将处于活动状态。请帮助我实现这一目标。
【问题讨论】:
-
你能把这段代码放到sn-p里让我们改正吗
-
@Hardik Satasiy,我在这里添加了jsfiddle.net/kumar_gowtham/rx4znhp4
-
抱歉,但您的代码与
v-if="image.style=='750WX750H'的标记不匹配,因此 JSON 中也没有样式,jsfiddle 有错误,并且缺少translateY,只需将您需要的标记做最少的其余删除,所以代码可以正常运行 -
@oldrock:人们愿意帮助你,但你必须帮助他们帮助你。 非常不清楚您要达到什么目标,并且您现有的代码已损坏。
-
对不起。下面的答案有效。感谢大家的帮助。
标签: javascript laravel-5 vue.js