VUE控制臺報錯:Uncaught TypeError: app.component is not a function

    問題描述

    vue在根組件上添加 子組件時,報錯?Uncaught TypeError: app.component is not a function

    問題代碼

        <script src="https://unpkg.com/vue@next"></script>
        <div id="app">
            <h1>{{ msg }}</h1>
            <button @click="add">計數器:{{counte}}</button>
            <site-name></site-name>
        </div>
        <script>
            //父組件
            const appRoot = {
                data() {
                    return {
                        msg: "個人基本信息",
                        counte: 1,
                    }
                },
                methods: {
                    add() {
                        this.counte += 1;
                    }
    
                },
            }
    
    
    
            //子組件
            app.component('site-name', {
                props: {
                    //年齡
                    "age": {
                        type: Number,
                        required: true,
                        default: "18",
                    }
                },
    
                template: `<h2>年齡:{{ age }}</h2>`,
            })
            app = Vue.createApp(appRoot);
            app.mount('#app');
    
        </script>
    VUE控制臺報錯:Uncaught TypeError: app.component is not a function

    問題原因

    1.沒有搞清楚vue應用中組件的加載過程,添加子組件的順序錯誤

    解決方法

    1.vue應用組件加載順序

        a.調用vue.createApp方法添加根組件創建應用
    app=Vue.createApp(appRoot);
        b.在應用中添加子組件
            //子組件
            app.component('site-name', {
                props: {
                    //年齡
                    "age": {
                        type: Number,
                        required: true,
                        default: "18",
                    }
                },
    
                template: `<h2>年齡:{{ age }}</h2>`,
            })


    c.將應用掛載在html頁面中

    app.mount("#app");


    2.解決方法:重新修改代碼書寫次序

        <script src="https://unpkg.com/vue@next"></script>
        <div id="app">
            <h1>{{ msg }}</h1>
            <button @click="add">計數器:{{counte}}</button>
            <site-name></site-name>
        </div>
        <script>
            //父組件
            const appRoot = {
                data() {
                    return {
                        msg: "個人基本信息",
                        counte: 1,
                    }
                },
                methods: {
                    add() {
                        this.counte += 1;
                    }
    
                },
            }
    
            //我調整了這行代碼的順序
            app = Vue.createApp(appRoot);
    
            //子組件
            app.component('site-name', {
                props: {
                    //年齡
                    "age": {
                        type: Number,
                        required: true,
                        default: "18",
                    }
                },
    
                template: `<h2>年齡:{{ age }}</h2>`,
            })
    
            app.mount('#app');
    
        </script>

    瀏覽器渲染效果

    {{ msg }}

    參考文章

    給TA贊賞
    共{{data.count}}人
    人已贊賞
    ??
    Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
    無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
    ?
    購物車
    優惠劵
    搜索
    主站蜘蛛池模板: 卡通动漫中文字幕第一区| 亚洲线精品一区二区三区 | 色狠狠色狠狠综合一区| 国产婷婷色一区二区三区深爱网| 国产一区二区在线视频| 天天爽夜夜爽人人爽一区二区| 日韩精品一区二区三区老鸭窝 | 视频一区在线播放| 亚洲熟妇av一区| 精品福利一区二区三区| 麻豆一区二区三区蜜桃免费| 亚洲日韩一区精品射精| 在线播放国产一区二区三区 | 日韩在线视频不卡一区二区三区 | 乱精品一区字幕二区| 中文字幕一区二区三区免费视频| 国产一区精品视频| 国产成人一区二区三区免费视频| 欧美日韩国产免费一区二区三区| 亚洲宅男精品一区在线观看| 国产91大片精品一区在线观看| 亚洲国产一区二区三区青草影视| 久久久91精品国产一区二区| 午夜精品一区二区三区免费视频| 九九久久99综合一区二区| 国产高清视频一区三区| 色一乱一伦一图一区二区精品| 久久青草精品一区二区三区| 无码国产精品一区二区免费vr| 亚洲国产精品一区第二页| 少妇人妻精品一区二区三区| 免费无码一区二区三区| 日韩在线一区二区| 精品国产精品久久一区免费式 | 色欲AV无码一区二区三区| 国产一区二区三区在线观看影院 | 熟妇人妻一区二区三区四区| 少妇人妻偷人精品一区二区| 无码一区二区三区老色鬼| 精品福利视频一区二区三区 | 丰满爆乳一区二区三区|