Vue之组件的定义及使用

什么是组件?

组件是自定义的、可复用的vue实例,里面封装可重用的HTML代码。

如下定义一个全局组件

Vue.component("button-counter", {
        data(){
            return {count : 1}
        },
        methods:{
            add(){
                this.count++;
            }
        },
         //模板
        template: '<button @click="add">点击加1:{{ count }}</button>'
    });

定义组件时需要注意的点:

  • 组件名不支持驼峰式,如:buttonCounter
  • data必须是一个函数
  • 在定义组件时,我们应该只有一个根标签

在vue实例中data是这样的

data:{
            count: 0
        }

在组件中应该是这样

data(){
            return {count : 1}
        }

像这样只有一个根标签 

//只有div一个根
`<div>
    <h1></h1>
    <h2></h2>
</div>`

 

//div和h2都为根,那么h2将不起作用
`<div>
    <h1></h1>
</div>
<h2></h2>`

 

使用

<button-counter>标签是我们刚才自定义的组件

<div id="app">
<!--    
    注意:
    使用这个组件,要确保它已经被注册为Vue实例了。
    即像这样:
        var app = new Vue({
            el:"#app",
        })
-->
    <button-counter></button-counter>
</div>

定义一个局部组件

var app = new Vue({
        el:"#app",
        data:{
            count: 0
        },
        //局部组件
        components:{
            'button-counter':{
                data(){
                    return {count : 1}
                },
                //注意这里访问到的是局部组件中的count
                //在组件中访问不到外部的数据
                template: '<button @click="count++">点击加1:{{ count }}</button>'
            }
        }
    })

上一篇:95、96. 不同的二叉搜索树


下一篇:个人永久性免费-Excel催化剂功能第95波-地图数据挖宝之IP地址转地理地址及不同经纬度版本转换