Javascript 重新加载页面时如何更改背景图像?

Javascript 重新加载页面时如何更改背景图像?,javascript,html,css,vue.js,Javascript,Html,Css,Vue.js,嗯,我正在尝试创建一个具有不同背景的页面,这就是我到目前为止所做的 export default { name: 'app', components: { NavBar }, data(){ return{ images:[ {img: '"./assets/img1.jpg"'}, {img: '"./assets/img2.jpg"'}, {img: '"./assets/img3.jpg"'},

嗯,我正在尝试创建一个具有不同背景的页面,这就是我到目前为止所做的

export default {
  name: 'app',
  components: {
    NavBar
  },
  data(){
    return{
      images:[
        {img: '"./assets/img1.jpg"'},
        {img: '"./assets/img2.jpg"'},
        {img: '"./assets/img3.jpg"'},
        {img: '"./assets/img4.jpg"'},
        {img: '"./assets/img5.jpg"'},
        {img: '"./assets/img6.jpg"'},
      ]
    }
  },
  methods:{
    changeBackgroundImage() {

      var item = this.images[Math.floor(Math.random() * this.images.length)].img 
      //test 1:
      // document.body.style.backgroundImage = "url(" + item + ")"

      //test 2:
      document.body.style.backgroundImage = "url('./assets/img6.jpg')";

      //test 3:
      // document.body.style.background= 'red'    

    },
  },
  created: function(){
    this.changeBackgroundImage()
  },   
}
所以,我在数组中得到一个随机项,然后把它放在背景图像上,对吗(测试1)? 但是这不起作用,所以对于测试,我尝试直接放置路径(测试2),仍然不起作用,没有错误或消息,只是。。。不会发生。 所以我尝试了另一种风格的命令(测试3),只是为了确保它能正常工作,是的,正常工作,让一切都变红

当我进入网络时,有一个img在那里,但她是全白的,不是我选择的那个

那么,为什么javascript会忽略我的背景图像呢


您在第一次测试中缺少一组引号,请尝试以下操作:

document.body.style.backgroundImage = "url('" + item + "')";

使用VueJs时,您不应该自己操作dom。查看他们文档中的计算属性和样式。Quick(但可能很脏,不是Vue专家)修复:Kastasx这实际上可以在test2上工作,但当我在Test1 document.body.style.backgroundImage=
url(${require(item)})
;it doest=(not work=)这就是我使用双引号的原因,我删除了它们并尝试您的方法,但没有成功