Vue自定义全局组件

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://unpkg.com/vue/dist/vue.js"></script>
    <title>Document</title>
</head>

<body>
    <div id="components-demo">
        <!-- 我们可以在一个通过new Vue创建的Vue根实例中,把这个组件作为自定义元素来使用 -->
        <button-counter></button-counter>
        <button-counter></button-counter>
        <button-counter></button-counter>
        <button-counter></button-counter> 
        <!-- 我们可以将组件进行任意次的复用 -->
        <!-- 注意当点击按钮时,每个组件都会各自独立维护它的count,因为每用一次组件,就会有一个它的新实例被创建 -->
        <button-counter></button-counter>
        <button-counter></button-counter>
        <button-counter></button-counter>
    </div>
    <script>
        // 定义一个名为 button-counter 的新组件,组件是可复用的Vue实例
        // 因为组件是可复用的Vue实例,所以他们与new Vue接受相同的选项,例如data、computed、watch、methods以及生命周期钩子等,
        // 唯一不同的是没有el这样根实例特有的选项
        // Vue.component 这种方式是全局注册,全局注册的组件可以用在其被注册之后的任何(通过new Vue)新创建的Vue根实例,也包括子组件模板中
        // 组件的命名上,短横线和驼峰命名都可以,但是在混搭不独立文件的时候,只能用短横线的方式命名
        Vue.component('button-counter', {
            // 一个组件的data选项必须是一个函数,因此每个实例可以维护一份被返回对象的独立的拷贝
            data: function () {
                return {
                    count: 0
                }
            },
            template: `<button v-on:click="change">You clicked me {{ count }} times.</button>`,
            methods:{
                change:function() {
                    this.count++
                }
            }
        })
        var app = new Vue({
            el: '#components-demo'
        })

    </script>
</body>

</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值