0
点赞
收藏
分享

微信扫一扫

[Vue warn] Failed to resolve component xxx

修炼之士 2022-03-11 阅读 257

bug内容:

原文:

[Vue warn]: Failed to resolve component: test
If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.
at

必应翻译:

未能解决组件:测试
如果这是一个本地自定义元素,请务必通过编译器从组件分辨率中排除它。

原因预读:

逻辑问题:父组件都已经挂载上了,子组件就没法加载上父组件了!!!

解决步骤:

//定义父组件
const app = Vue.createApp({
            data() {
                return {
                    num: 123,
                }
            },
            template: `
            <test  :content="num" />
            `,
        })
//父组件挂载
        const vm = app.mount('#root');

//子组件传值
        app.component('test',{
            // 传值载体
            props:{
                // 对传入的content进行校验
                content:{
                    type:Number,   // 浅校验
                    request:true,   // 是否必传
                    default:123,   // 默认值
                    default:function(){
                        return 123;
                    },
                    // 深校验
                    validator:function(value){
                        return value<1000;
                    },
                }
            },
            template:`{{content}}`,
        })

代码原文解释:

1、定义父组件部分

2、父组件挂载

3、子组件编写

解决步骤:

从bug方向出发

—>子组件有问题

—>检查子组件:子组件无语法格式拼写问题

—>测试子组件内部:分段注释测试代码,发现bug不变

—>父组件没引用上?

—>检查父组件:父组件无语法格式拼写问题

—>分析书写逻辑:父组件创建–》父组件挂载–》子组件传给父组件

逻辑问题:父组件都已经挂载上了,子组件就没法加载上父组件了!!!

—》解决方案: --》父组件创建 app = Vue.createApp

–》子组件传给父组件app.component(‘test’,{})

–》父组件挂载 app.mount()

等所有组件都已经相互连接了,才能挂载

举报

相关推荐

0 条评论