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午夜精品亚洲一区二区三区| 午夜一区二区免费视频| 岛国无码av不卡一区二区| 亚洲一区免费视频| 国产福利电影一区二区三区久久老子无码午夜伦不 | 亚洲国产成人精品久久久国产成人一区二区三区综 | 不卡一区二区在线| 精品无码一区二区三区电影| 国产一区二区三区免费在线观看| 夜夜添无码试看一区二区三区| 亚洲日韩中文字幕无码一区| 国产一区二区视频在线观看| 日本国产一区二区三区在线观看| 波多野结衣高清一区二区三区| 亚洲色无码专区一区| 国产一区二区电影| 欧洲精品一区二区三区在线观看 | 国产人妖视频一区二区| 国精产品一区一区三区有限在线| 精品一区二区三区色花堂| 亚洲熟妇成人精品一区| 日本一区二区免费看| 视频在线一区二区三区| 人妻少妇精品视频三区二区一区| 鲁丝片一区二区三区免费| 午夜福利国产一区二区| 亚洲AV成人精品一区二区三区| 国产一区二区三区久久| 国产精品自在拍一区二区不卡|