Vue组件化(全局组件/局部组件/组件传参)

全局注册组件

在scrpit中 第1行开始

vue.component('my-select',{

template:`<div>全局组件内容</div>`

})

引入可以在全局的任意位置

<my-select></my-select>

局部注册组件:在

new Vue({

el:'#app',

components:{

        `my-select`:{

        template:`<div>局部组件内容</div>`},

`my-sleect1`:{

template:`<div>局部组件内容1</div>`}

} })

引入只能在#app这个区域中引入:<my-select></my-select> 或者 <my-select1></my-select1>

组件内部的简单交互

Vue.component('my-num',{ //组件全局注册     

        data(){ //避免对象的引用问题

            return {

                num:3

            }

        },

        template:`<div>

            <button @click="num--">-</button>

            <span>{{num}}</span>

            <button @click="handlePlus">+</button>

        </div>`,

        methods: {

            handlePlus() {

                this.num++

            }

        },

    })

组件传参:

1、在组建内部定义props

Vue.component('my-select',{  //全局注册

    props:[' listData']

     template:`

<div class="my-select">

            <input type="text">

            <ul>

                <li v-for="item in listData">

                    {{item}}    

                </li>

            </ul>

        </div>

`

})

2、范围内的数据包

new Vue({  

        el:'#app',  

        data:{  //提供数据包

           food:['烤鸭','火锅','海鲜','烤全羊'],

           skill:['HTML','CSS','Vue']

        }

    })

3、组件调用

<my-select :listData="skill"></my-select>

<my-select :listData="food"></my-select>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值