我遇到了一个奇怪的问题,无法访问道具。我重命名了所有变量,因为这对问题无关紧要。
如果我执行{{ myVar }}
,则输出为{ "a": 1, "b": "Text1", "c": "Text2" }
。但是如果我使用{{ myVar.a }}
,那么我得到错误Uncaught (in promise) TypeError: $props.myVar is undefined
。页面也是空的。但为什么会这样呢?
我正在使用Vue.js3和Composition API。在孩子的脚本设置中,我使用这个:
defineProps({
myVar: Object
})
在模板中,我想通过{{ myVar.a }}
使用它。家长发送属性如下:
<MyModal v-show="isMyModalVisible" @close="closeMyModal()" :myVar="myVar"></MyModal>
这里怎么了?我对变量的访问是否错误?
感谢Lawrence Cherone,我现在使用了这个解决方案:
defineProps({
myVar: { type: Object, default: new Object() }
});
这是有效的。原因是,我使用单击事件设置了变量myVar
。在那之前它是空的。