Sometimes, we want to pass props as initial data in Vue.js.
In this article, we’ll look at how to pass props as initial data in Vue.js.
Pass Props as Initial Data in Vue.js
We can pass props as initial data in Vue.js by setting the initial value of a reactive property to the prop’s value.
For instance, we can write:
App.vue
<template>
<div id="app">
<HelloWorld msg="world" />
</div>
</template>
<script>
import HelloWorld from "@/components/HelloWorld";
export default {
name: "App",
components: {
HelloWorld,
},
};
</script>
HelloWorld.vue
<template>
<div class="hello">
<h1>hello {{ message }}</h1>
</div>
</template>
<script>
export default {
name: "HelloWorld",
props: {
msg: String,
},
data() {
return {
message: this.msg,
};
},
};
</script>
In HelloWorld , we set message to this.msg as message ‘s initial value.
We make a copy of the this.msg string and set it as message ‘s value.
If it’s not a primitive value, then we’ve to make a copy of the prop’s value with Object.assign or the spread operator.
Conclusion
We can pass props as initial data in Vue.js by setting the initial value of a reactive property to the prop’s value.