Vuejs 从远程源获取图像

5
我正在使用以下代码来检测按钮点击,并从unsplash获取一张以随机模式为特色的图片。
问题是它只能工作一次,用于获取一个随机的图片。但第二次它不会改变。。
它没有重新请求,只是因为URL相同所以没有改变。
var vue = new Vue({
  el: '#app',
  data: {
    styleObject: {
        background: 'url(https://unsplash.it/1920/1080)'
    }
  },
  methods: {
    getImage: function() {
        vue.styleObject.background = 'url(https://unsplash.it/1920/1080?random)'
    }
  }
})

我尝试删除这个变量。
getImage: function() {
    vue.styleObject.background = '';
    vue.styleObject.background = 'url(https://unsplash.it/1920/1080?random)'
}

但是仍然没有成功,有什么想法吗?
1个回答

8

你可以尝试进行一些缓存破解。我认为是你的浏览器正在缓存请求并提供相同的图片。尝试在请求末尾追加一个随机字符串,例如:

 methods: {
    getImage: function() {
        var max = 90000;
        var min = 10000;
        var slug = Math.random() * (max - min) + min;
        vue.styleObject.background = 'url(https://unsplash.it/1920/1080?random&s=' + slug +')';
    }
  }

希望这可以帮助您。

这个完美地运作了!没想到那个。谢谢你! - Miguel Stevens

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接