vue自定义组件的几种方式

1.全局组件

定义方式示例:

Vue.component("hello-component", {
    props: ["message"],
    template: "<div ><h5>组件定义之全局组件</h5><h4>{{message}}</h4></div>"
});

使用:

<hello-component message="global component"></hello-component>

属性介绍:
Vue.component():是vue.js内部封装方法
“hello-component”:是使用时候的组件名称
props:组件内的属性,供给组件内部传值
template:组件内部DOM元素组成
全局组件定义方式,是直接给全局对象Vue注册了一个组件。在本页内已挂载Vue 实例的DOM目标元素 都可以使用(区别于局部组件只能是挂载哪一个DOM,哪个才能使用)。

2.局部组件

定义方式示例:

var limitComponent = {
    props: ["message"],
    template: "<div><h1>{{message}}</h1><input  \
    type='text' v-model='message'></input></div>"
}
new Vue ({
    el: "#app",
    components: {
        "child-component": limitComponent
    }
});

使用:

<child-component message = "动态局部组件"></child-component>

属性介绍:

el:是 Vue 实例的挂载目标
“components”:是注册仅在其作用域中可用的组件
“child-component”:组件的名称(书写规则请上翻再看规则)
limitComponent:通过对象方式传递组件
你不必把每个组件都注册到全局。你可以通过某个 Vue 实例/组件的实例选项 components 注册仅在其作用域中可用的组件;
js中用反斜线“\”实现字符串换行;

3.Script方式注册组件

定义方式示例:

<script type="text/template" id="script-component">
    <div >
        <h2>自定义组件之script方式定义</h2>
        <h4>{{message}}</h4>
    </div>
</script>
<script>
    Vue.component("mymac", {
        props: ["message"],
        template: "#script-component"
    })
 
    var newVue = new Vue({
        el: "#mac",
        data: {
            mydata: "春暖花开"
        }
    });
</script>```

使用:

```html
<div id="mac" >
    <input type="text" v-model="mydata" />
    <mymac v-bind:message="mydata"></mymac>
</div>

4.创建组件

定义方式示例:

<template id="cc">
    <div >
        <h1>{{message}}</h1>
    </div>
</template>
<script>
    Vue.component('templatec', {
        props: ["message"],
        template: "#cc"
    })
    new Vue({
        el: "#MyTemp"
    })
</script>
``

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时间的情敌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值