Я использую Buefy в своем приложении Vuejs, сделанном с помощью Electron. Я хочу показать некоторые закусочные для разных этапов загрузки.
HTML
<a href="#" name="Save" @click="saveWallpaper"><i class="fa fa-arrow-down"></i></a>
<a href="#" @click="setWallpaper"><i class="fa fa-paint-roller"></i></a>
JS
async saveImage( /*callback function (optional)*/ setimg) {
var currentLightbox = this.currentLightbox
var title = currentLightbox.data.title.replace(/\s/g, '_')
console.log(title)
var URL = currentLightbox.data.preview.images[0].source.url
console.log(URL)
ipcRenderer.send('download', {
url: URL,
title: title,
// directory:
})
this.$buefy.toast.open({
message: 'Downloading...',
type: 'is-dark',
position: 'is-bottom'
})
ipcRenderer.on("download complete", (event, file) => {
// console.log(file); // Full file path
this.$buefy.toast.open({
message: 'Downloaded successfully.',
type: 'is-success',
position: 'is-bottom',
})
if (setimg) {
setimg(file);
}
})
},
async setImage(filePath) {
// console.log(filePath)
await wallpaper.set(filePath)
.then(() => {
this.$buefy.toast.open({
message: 'Wallpaper set successfully.',
type: 'is-success',
position: 'is-bottom',
})
})
},
async saveWallpaper() {
this.saveImage();
},
async setWallpaper() {
this.saveImage(this.setImage);
},
В первый раз установка обоев закусочные работают нормально (то есть сначала downloading...
, затем download complete
, затем wallpaper set successfully
). Но во всех других случаях закусочные download complete
и wallpaper set successfully
повторяются несколько раз. Как мне это исправить?