#javascript #vue.js
#javascript #vue.js
Вопрос:
это мой самый первый пост о переполнении стека, поэтому прошу прощения, если я делаю здесь что-то выходящее за рамки нормы.
у меня очень простой вопрос. я учусь Vue.js , и я хочу, чтобы какое-то фоновое изображение повторялось в моем ТЕЛЕ, но добавляло это изображение в динамическом режиме
до сих пор мне удавалось делать это в классическом DIV, например, в HTML-части кода:
<template>
<div :style="{ backgroundImage: `url(${backgroundUrl})` }">test</div>
</template>
и в Vue.js сценарий у меня есть такой :
<script>
import backgroundUrl from '~/artistes/ElzoDurt.jpg'
export default {
data() {
return {
backgroundUrl
}
}
}
</script>
Теперь это отлично работает в DIV, потому что я использую ШАБЛОН
, но попытка того же трюка в ТЕЛЕ, похоже, не работает, потому что, если я когда-либо использую BODY в ШАБЛОНЕ, экран становится пустым!
Большое вам спасибо!
Комментарии:
1. Я только что создал простой пример с вашим примером, кажется, он работает нормально, хотя это неправильный способ сделать это.
2. Если вы хотите это сделать
page body
, вы должны использоватьdocument.body
и изменять стили в mounted или где угодно.3. В Vue 2 вы можете либо сделать это для абсолютно позиционированного div с полной высотой / шириной, либо напрямую манипулировать
<body>
DOM, потому что вы не можете смонтировать Vue в<body>
тег. В Vue 3 вы можете подключиться к<body>
тегу.4. Спасибо! мне нужно некоторое время, чтобы переварить это, я безуспешно попробовал первый метод из-за ШАБЛОНА, который оставляет все пустым, но мне нужно, наверное, постараться