Я использую слайд-шоу, чтобы пользователь мог видеть любые дополнительные изображения, которые могут иметь api globalgiving.Но проблема в том, что когда страница загружается и когда вы открываете модальное окно, слайд-шоу там нет, если вы не выберете открыть вкладки, которые я реализовал в модальном режиме.Но эти вкладки не имеют никакого отношения к слайд-шоу.
Ниже приведен HTML-код, который я использую:
<div v-if="projectData.images" class="
<div class="slider_list">
<img v-for="(src, index) in projectData.images.slice(0, 5)" :key="src" :src="src" v-show="index === active">
</div>
<button class="slider_prev" @click="change(active-1)">prev</button>
<button class="slider_next" @click="change(active+1)">next</button>
<ul class="slider_dots">
<li v-for="(src, index) in projectData.images.slice(0, 5)" :key="src" :class="{active:index === active}" @click="change(index)">
<button>{{index}}</button>
</li>
</ul>
</div>
<div v-else class="bigImage" :style="{backgroundImage: 'url(' + projectData.banner + ')'}"></div>
Ниже приведен код Javascript, который я использую:
change: function(index) {
if (this.projectData.images.length < 5) {
this.direction = index > this.active ? 1 : -1
this.active = (index + this.projectData.images.length) % this.projectData.images.length
} else if (this.projectData.images.length = 5) {
this.direction = index > this.active ? 1 : -1
this.active = (index + this.projectData.images.length) % this.projectData.images.length
} else if (this.projectData.images.length > 5) {
this.direction = index > this.active ? 1 : -1
this.active = (index + this.projectData.images.length) % this.projectData.images.length
}
}
projectData
- это объектреквизит, исходящий от родительского компонента.
Однако, когда я выхожу из системы this.projectData
, отображается полный объект, в котором есть изображения.Но, если я выхожу из системы this.projectData.images
, то он выдается как undefined
, и я не уверен, почему это происходит.
Это родительский код JavaScript:
if (project.imageGallerySize > 1) {
axios.get(`https://api.globalgiving.org/api/public/projectservice/projects/${project.id}/imagegallery?api_key=71774a46-da0c-4748-a5ea-7001d6a47709`, {
headers: {
Accept: "application/json"
}
}).then(response => {
projectObject['images'] = [];
for (let i = 0; i < response.data.images.image.length; i++) {
projectObject['images'].push(response.data.images.image[i].imagelink.filter(function(image) {
if (image.size == 'orginal') {
return true;
}
})[0].url);
}
}).catch(error => {
console.log("Wrong", error)
})
}
Есликто-то может, пожалуйста, помочь, это будет высоко ценится.
Большое спасибо!