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=)这就是我使用双引号的原因,我删除了它们并尝试您的方法,但没有成功