Vue基础组件的基本使用和注意事项

Vue基础组件的基本使用

什么是组件呢?

组件是可复用的 Vue 实例, 如果网页中的某一个部分需要在多个场景中使用,那么我们可以将其抽出为一个组件进行复用。组件大大提高了代码的复用率。

开始使用
创建自定义组件的是Vue.component方法。

注意!!! 方法后面第一个值是标签名,第二个是一个对象,里面定义的是data属性,这里的data属性不可以和Vue实例一样是对象,必须是函数,用return返回值,如果是对象会直接报错。

组件标签名命名方式有两种:

1.驼峰命名:列 :ButtonCounter, 尽量使用驼峰命名,但是渲染时要注意用短横线渲染,不要用驼峰,代码如下:

<body>
    <div id="app">
        <button-counter></button-counter>
    </div>
</body>

2.短横线名命:列 :button-counter

<body>
    <div id="app">
        <button-counter></button-counter>
    </div>
</body>

<script>
    // 创建自定义组件 
    Vue.component('ButtonCounter',{
        data:function () {
            return {
            count:0
            }
        },
        // template:`
        // <div>
        // <button @click="add">点击了{{ count }}次</button>
        // </div>
        // `,
        template:"<div><button @click='add'>点击了{{ count }}次</button></div>",
        methods:{
            add() {
                this.count += 1
                console.log(this.count)
            }
        }
    })
        var vm = new Vue({
        el:'#app',
        data:{}
    })

组件模板的方法有两种:

1.默认方法 :直接用双引号包裹起来

<body>
    <div id="app">
        <button-counter></button-counter>
    </div>
</body>
        template:"<div><button @click='add'>点击了{{ count }}次</button></div>"

2.模板字符串方法 :直接用反引号包裹起来(ES6的语法),可读性比较强,比较直观,简洁。

<body>
    <div id="app">
        <button-counter></button-counter>
    </div>
</body>
         template:`
         <div>
         <button @click="add">点击了{{ count }}次</button>
         </div>
         `

注意
1.渲染模板不管别的,先把div写好,防止出错
2.组件模板的内容必须是单个跟元素,

在组件里可以定义方法methods,我这边定义了一个点击事件的方法,让他每次点击都加 1

	  methods:{
            add() {
                this.count += 1
                console.log(this.count)
            }
        }

注意:methods是定义在组件方法里,不是定义在Vue实例中

渲染到页面:直接把定义好的标签名放到Vue定义的标签里面,就行,这边的组件是可以重用的,而且每一个组件都是一个实例,是独立的,相互不影响。

    <div id="app">
        <button-counter></button-counter>
        <br>
        <button-counter></button-counter>
        <br>
        <button-counter></button-counter>
        <br>
    </div>

效果
在这里插入图片描述
这样一个基本组件就创建完成了 sull

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值