Есть компонент:
<template>
<form>
{{this.$props}}
<hr>
{{thisPropsMethod()}}
<hr>
{{thisPropsComputed}}
</form>
</template>
<script>
export default {
name: "horizontal-form",
props: ['test', 'formOptions'],
methods: {
thisPropsMethod: () => {
return this.$props;
},
},
computed: {
thisPropsComputed: () => {
console.log(this.$props)
return this.$props;
},
}
}
</script>
<style scoped>
</style>
Данный компонент вызывается вот так:
<horizontal-form
test="{a: 'asdasdasd'}"
formOptions="{submitText: 'blablabla'}"
/>
Что имеем. В шаблоне один раз выводятся все props (срабатывает
{{this.$props}}
) и все (два hr нормально выводятся после первого вывода пропсов). console.log из computed функции выдает undefined. VueJS Devtools все пропсы видит.
Вопрос - почему пропсы недоступны в скрипте компонента? Ни через
this.$props
, ни напрямую через
this.test
.