I want to use:
homePage.image = 'storage/' 'rkiGXBj7KJSOtsR5jiYTvNOajnzo7MlRAoXOXe3V.jpg'
inside:
<div class="home-image" :style="{'background-image': 'url(' homePage.image ')'}"></div>
before the Vue Component is rendered but homePage.image
returns ""
.
This is my component:
<template>
<section id="home" class="home">
<div class="image-container">
<div class="home-image" :style="{'background-image': 'url(' homePage.image ')'}"></div>
</div>
</section>
</template>
<script setup>
import {ref} from 'vue';
const homePage = ref({
image: ""
});
axios.get('/home')
.then(res => {
homePage.image = 'storage/' 'rkiGXBj7KJSOtsR5jiYTvNOajnzo7MlRAoXOXe3V.jpg'; // storage link image file name
})
.catch(err => {
console.log(err.response);
});
// works
// const image = 'storage/' 'rkiGXBj7KJSOtsR5jiYTvNOajnzo7MlRAoXOXe3V.jpg';
</script>
How do I get homePage.image
to update to 'storage/' 'rkiGXBj7KJSOtsR5jiYTvNOajnzo7MlRAoXOXe3V.jpg'
before it is loaded into the Component from inside the axios
function?
CodePudding user response:
When you use ref
for reactivity you must use value
:
homePage.value.image = 'storage/' 'rkiGXBj7KJSOtsR5jiYTvNOajnzo7MlRAoXOXe3V.jpg';