Vue2中全局组件和私有组件

组件

  • 组件就是页面中用到的一些功能模块的封装
  • 注意
    • 组件的视图必须有一个唯一的根元素(vue-2x)
  • 组件内部的data必须使用函数的方式返回一个数据对象: 为了避免组件多次调用之后产生数据 混乱

全局组件

  • 在任何vue实例中都可以使用
  • 定义
  // 定义全局组件
    Vue.component('my-header', {
        // 组件视图: 必须有一个唯一的根元素
        template: `
            <div class="container">
                <h1>{{title}}</h1>
                <h3 v-text="title"></h3>
                <button @click="updateTitle">update title</button> 
            </div>
        `,
        // 定义数据: 必须使用函数的方式返回一个数据对象
        data(){
            return {
                title:'全局自定义组件'
            }
        },
        methods: {
            // 按钮点击事件处理函数
            updateTitle() {
                this.title = 'hello component!!!';
            }
        }
    });
  • 调用: 当做自定义标签来调用
     <!-- 调用全局组件 -->
            <!-- <my-header /> -->
            <my-header></my-header>

 

私有组件

  • 只能在定义该组件的vue实例中使用
  • 定义
​
 new Vue({
        el: "#app",
        // 定义私有组件
        components: {
            // 如果组件名称使用了驼峰命名, 那么在当前开发环境下, 调用的时候, 要使用-连接多个单词的方式
            MyHeader: {
                template: `
                    <div class="container">
                        <h1 @click="updateTitle">{{title}}</h1>
                    </div>
                `,
                data() {
                    return {
                        title: '自定义私有组件'
                    }
                },
                methods: {
                    updateTitle() {
                        this.title = 'hello component'
                    }
                },
                created() {
                    console.log(this.title);
                }
            }
        }
    });

​
  • 调用: 当做自定义标签调用即可
  •  <!-- 调用私有组件 -->
            <my-header />

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值