计算机网络/计算机科学与应用/系统/运维/开发

Vue局部组件和全局组件的区分

<div id="app">
        <!-- 全局组件 -->
        <button-component></button-component>
        {{msg}}
        <!-- 局部组件 -->
        <inner-component></inner-component>
        <my-component-a></my-component-a>
</div>
<script src="https://unpkg.com/vue@3.2.28/dist/vue.global.js"></script>
    
<script type="text/javascript">
        // 局部组件(抽离 达到复用效果)
        const myComponenta = {
            template:'<h2>{{str}}</h2>',
            data(){
                return {
                    str:'inner a'
                }
            }
        }
        // 应用根实例
        const app = Vue.createApp({
            // 接受一个对象
            data(){
                return{
                    msg:'hello,vue'
                }
            },//局部组件
            components:{ // 可设置多个
                'inner-component':{
                    template:'<h2>inner component</h2>'
                },// 这里在根实例下调用局部组件
                'my-component-a':myComponenta
            }
        })
        // 全局组件 (子组件)
        // 全局组件必须在根应用实例挂载前定义 否则将无法被使用该根组件的应用找到,也就是app.mount('#app')挂载之前定义
        app.component('button-component',{
            data(){
                return {
                    str:'btn'
                }
            },// 这里是全局组件下调用局部组件
            components:{
                'my-component-a':myComponenta
            },
            template:'<button>I am a {{str}}</button>'
        })
     
        // 根组件
       app.mount('#app');
       // 总结:一个vue应用由一个根组件和多个子组件组成
</script>


生活的强者,不是指能搞定一切困难,也不是指没有恐惧,而是就算心里藏着无尽的疲惫和委屈,还是会认真地做好手头上的事情;就算自己被生活锤得心灰意冷,还是会尽心尽力地负起责任;就算发现现实与理想的差距有十万里,虽然鞭长莫及,却依然马不停蹄。

评论

^