Vue-使用大括号语法在css中绑定数据

Vue-使用大括号语法在css中绑定数据,css,vue.js,Css,Vue.js,如何将Vue组件数据绑定到样式标记中?这种方法似乎是最直观的,但不起作用 <template lang="pug"> div {{album.name}} </template> <style> body { background-image: url({{album.images[0].url}}); } </style> <script> export default {

如何将Vue组件数据绑定到样式标记中?这种方法似乎是最直观的,但不起作用

<template lang="pug">
    div {{album.name}}
</template>

<style>
    body {
        background-image: url({{album.images[0].url}});
    }
</style>

<script>
    export default {
        data() {
            return {...}
        }
    }
</script>

div{{album.name}
身体{
背景图像:url({album.images[0].url});
}
导出默认值{
数据(){
返回{…}
}
}

您不能将vue绑定放入样式中

如果要标记的背景图像,请在vue组件中尝试如下操作

<script>
export default {
    mounted: function () {
      document.body.style.backgroundImage = `url("${this.album.images[0].url}")`;
    },
    data() {
        return {...}
    }
}
</script>

导出默认值{
挂载:函数(){
document.body.style.backgroundImage=`url(${this.album.images[0].url}”)`;
},
数据(){
返回{…}
}
}

或者,如果您想在更改album.images时更改背景,只需将代码放在watch属性上,您就无法将vue绑定放在样式中

如果要标记的背景图像,请在vue组件中尝试如下操作

<script>
export default {
    mounted: function () {
      document.body.style.backgroundImage = `url("${this.album.images[0].url}")`;
    },
    data() {
        return {...}
    }
}
</script>

导出默认值{
挂载:函数(){
document.body.style.backgroundImage=`url(${this.album.images[0].url}”)`;
},
数据(){
返回{…}
}
}

或者,如果您想在更改album.images时更改背景,只需在watch属性上添加代码

据我所知,这是不可能的,这里有一个类似的问题:据我所知,这是不可能的,这里有一个类似的问题:当导航离开页面时,我是否可以使用
watch
删除背景图像?我建议使用beforeDestroy或destroyed属性。当导航离开页面时,我是否可以使用
watch
删除背景图像?我建议使用beforeDestroy或destroyed属性。