天天看點

全局元件

全局元件

元件可以擴充 HTML 元素,封裝可重用的代碼。

元件是可複用的 Vue 執行個體,且帶有一個名字。

1.建立步驟:

建立元件構造器

var myton=Vue.extend({
            //data必須是個函數
            data:function () {
                return{
                    count:0
                }
            },
            //模闆選項
            template:'<div><h1>哈哈哈</h1><button @click="count++">你點選了{{count}}次了</button></div>'
        })
           

注冊一個全局的元件

Vue.component('ton',myton);
           

使用元件

<div id="app">
    <ton></ton>
</div>
           

全部代碼如下:

<body>
<div id="app">
    <ton></ton>
</div>
</body>
<script>

    var myton=Vue.extend({
        //data必須是個函數
        data:function () {
            return{
                count:0
            }
        },
        //模闆選項
        template:'<div><h1>哈哈哈</h1><button @click="count++">你點選了{{count}}次了</button></div>'

    })

    Vue.component('ton',myton);
    new Vue({
        el:"#app"

    });
</script>
           

運作結果:

全局元件

2.可以簡化元件注冊

<body>
<div id="app">
    <ton></ton>
</div>
</body>
<script>
    Vue.component('ton',{
        //data必須是個函數
        data:function () {
            return{
                count:0
            }
        },
        //模闆選項
        template:'<div><h1>哈哈哈</h1><button @click="count++">你點選了{{count}}次了</button></div>'
    });
    //元件注冊必須位于建立vue執行個體之前
    new Vue({
        el:"#app"

    });
</script>
           

3.全局元件每個vue執行個體都可以用

<body>
<div id="app">
    <ton></ton>
</div>
<div id="app1">
    <ton></ton>
</div>
</body>
<script>
    Vue.component('ton',{
        //data必須是個函數
        data:function () {
            return{
                count:0
            }
        },
        //模闆選項
        template:'<div><h1>哈哈哈</h1><button @click="count++">你點選了{{count}}次了</button></div>'

    });
    new Vue({
        el:"#app"
    });
    new Vue({
        el:"#app1"
    });
</script>
           

運作結果:

全局元件

4.注意事項

元件注冊必須位于建立執行個體之前。

一個元件的 data 選項必須是一個函數