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 反饋,我們將盡快處理。
    ?
    購物車
    優惠劵
    搜索
    主站蜘蛛池模板: 又紧又大又爽精品一区二区| 在线精品动漫一区二区无广告| 2021国产精品视频一区| 中文字幕一区一区三区| 亚洲国产精品一区二区久久| 亚洲av无码一区二区三区乱子伦| 水蜜桃av无码一区二区| 亚洲AV噜噜一区二区三区| 日韩精品久久一区二区三区| 国产不卡视频一区二区三区| 日韩精品无码一区二区三区AV| 无码AV中文一区二区三区| 精品福利视频一区二区三区| 国产成人精品一区二三区| 熟女性饥渴一区二区三区| 日本一区二区三区爆乳| 一区二区三区免费视频观看| 无码人妻AⅤ一区二区三区| 亚洲欧美日韩中文字幕一区二区三区| 欧洲精品码一区二区三区| 亚洲一区二区三区香蕉| 在线一区二区三区| 国产亚洲3p无码一区二区| 影院成人区精品一区二区婷婷丽春院影视 | 中文字幕精品亚洲无线码一区应用 | 人妻无码第一区二区三区| 日美欧韩一区二去三区| 亚洲色婷婷一区二区三区| 中文字幕一区二区三区人妻少妇 | 国产精品一区二区久久国产| 精品福利视频一区二区三区 | 精品人伦一区二区三区潘金莲| 日本精品视频一区二区三区 | 无码人妻精品一区二区三区不卡| 国产一区二区三区免费观在线 | 无码成人一区二区| 国产91精品一区二区麻豆亚洲| 亚洲AV无码一区二区大桥未久| 成人精品视频一区二区三区不卡 | 中字幕一区二区三区乱码 | 国产精品日韩欧美一区二区三区 |