gpt4 book ai didi

javascript - Vue动态背景图片内联组件

转载 作者:行者123 更新时间:2023-12-04 01:31:49 25 4
gpt4 key购买 nike

我正在用 Vue 构建一个需要动态背景的横幅,但是,它似乎不起作用。不知道我做错了什么。我已经尝试了其他一些方法,如果我做一个类似的图像标签,它会起作用

<img :src="require(`@/assets/images/${backgroundImage}`)" />

但显然这需要是一个内嵌的背景图像。

代码:

成分
<template>
<div
class="w-full h-64 bg-auto bg-no-repeat bg-center lg:bg-cover relative"
:style="{ backgroundImage: url(require('@/assets/images/' + backgroundImage))}"
>
<div class="w-full h-full flex flex-col justify-center items-center text-white px-6">
<div class="hero-text rounded text-center py-8 px-12">
<p class="text-base lg:text-md uppercase font-medium">{{ smallLeadingText }}</p>
<h1 class="text-xl md:text-3xl lg:text-5xl uppercase font-bold">{{ mainText }}</h1>
<p class="text-base lg:text-md">{{ subText }}</p>
</div>
</div>
</div>
</template>

<script>
export default {
name: "PageHero",
props: {
backgroundImage: String,
smallLeadingText: {
type: String,
required: false
},
mainText: {
type: String,
required: true
},
subText: {
type: String,
required: false
}
}
};
</script>

看法
<PageHero
backgroundImage="mc-background.png "
smallLeadingText="Powerful, secure &amp; affordable"
mainText="Minecraft hosting"
subText="Plans suitable for all budgets"
/>

最佳答案

看起来您的 style 中出现了一些语法错误。字符串引用周围的属性。尝试

<div :style="{ backgroundImage: `url(${require('@/assets/images/' + backgroundImage)})` }">

可能更容易创建一些计算属性来解决所有问题

computed: {
bgImage () {
return require('@/assets/images/' + this.backgroundImage)
},
inlineStyle () {
return {
backgroundImage: `url(${this.bgImage})`
}
}
}



<div :style="inlineStyle">

演示~ https://codesandbox.io/s/crimson-sky-ehn9r

关于javascript - Vue动态背景图片内联组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60859602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com