vue3报错:runtime-core.esm-bundler.js:38 [Vue warn]: Invalid prop: type check failed for prop “modelVal

欢迎关注csdn前端领域博主: 前端小王hs

email: [email protected]

前端交流群: 598778642

vue3报错:runtime-core.esm-bundler.js:38 [Vue warn]: Invalid prop: type check failed for prop “modelValue”. Expected Boolean, got Object
at

警告的大意是绑定的函数期待得到的是布尔值,但得到的是一个对象

警告原因就是v-model绑定的函数获得的值是一个对象,这个问题一般出现在bus传值或者其他传值方式

逻辑分析:
①el-dialog(不一定是dialog组件)绑定了一个函数
②在script中对函数名进行了定义
③通过bus对这个函数名进行传值
问题出在:
④需要把函数名的.value值设为true
如果没有设置ture,而是把子组件传过来的值(obj类型)赋值给函数名的.vlaue,则会报错
伪代码示意如下:

<tempalte>
//绑定函数
 <el-dialog :function='function' />
</template>

<script setup>
//接受子组件的传值
//问题出在是function.value = e 则报错
bus.on('function', (e) => {
		function.value = true
		)}
//对函数进行定义
const function = ref()
</script>	

搜过其他同类的问题,但这个 Expected Boolean, got Object 问题应该还是算比较新的问题

其他同类的是 期待获得object类型,但得到的是string,诸如此类这里不在叙述,一般都是定义的函数没有写对类型或者赋值没写好类型导致

你可能感兴趣的:(笔记,Vue3.js,vue.js,javascript,前端)