I'm having a hard time understanding why I can't display what is returned by data.
From the code below, {{userId}}, {{test}} do not get printed but everything else does. For example the texts User with id, test:, Public profile of user and the content of {{$route.params.used_id}}.
Why is that the case and what do I need to do to fix this?
<template>
<div>
<h1>User with id {{userId}}</h1>
<h1>test: {{test}}</h1>
<h1>{{user_id}}</h1>
<p>Public profile of user</p>
<p>{{$route.params.user_id}}</p>
</div>
</template>
<script>
export default {
props: ["user_id"],
data: function() {
return {
//id is name of the dynamic segment we created in router
userId: this.$route.params.user_id,
test: "test"
};
}
};
</script>
<style lang="scss">
</style>
Errors from console:
[Vue warn]: Property or method "userId" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property.
[Vue warn]: Property or method "test" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property.
userIdin yourmounted()function