vue-3.2-组件的三种定义方式

1. 什么是组件:组件的出现,就是为了拆分Vue实例的代码量,能够让我们以不同的组件,来划分不同的功能模块,将来需要什么样的功能,就去调用对应的组件即可;

2. 模块化:是从代码的角度进行划分的;方便代码分层开发,保证每个模块的职能单一;

3. 组件化:是从UI界面的角度进行划分的;前端的组件化,方便UI组件的重用!

定义组件的三种方式:

  第一种:

<body>
<div id="app">
    <!--如果使用组件,直接把组件的名称,以HTML标签的形式,引入到页面中,即可-->
    <mycom1></mycom1>
</div>
<script>
    // 1.1 使用 Vue.extend 来创建全局的 Vue 组件
    var com1 = Vue.extend({
        template:'<h3>这是使用 Vue.extend 创建的组件</h3>' // 通过 template 属性,指定了组件要展示的HTML结构
    })

    // 1.2 使用 Vue.component('组件的名称',创建出来的组件模板对象)
    // Vue.component('myCom1', com1)
    // 如果使用 Vue.component 定义全局组件的时候,组件名称使用了 驼峰命名,则在引用组件的时候,需要把 大写的驼峰改为小写的字母,同时,两个单词之间,使用 - 链接;
    // 如果不适用驼峰,则直接拿名称来使用即可;
    Vue.component('mycom1', com1)
    var vm = new Vue({
        el: '#app',
        data: {
        },
        methods: {
        }
    })
</script>
</body>

  第二种:

<body>
<div id="app">
    <mycom2></mycom2>
</div>
<script>
    /*注意:不论是那种方式创建出来的组件,组件的template 属性指向的模板内容,必须有且只能有唯一的一个根元素*/
    Vue.component('mycom2', {
        template:'<div><h3>这是直接使用 Vue.component 创建的组件</h3><span>span元素</span></div>' // 通过 template 属性,指定了组件要展示的HTML结构
    })
    var vm = new Vue({
        el: '#app',
        data: {
        },
        methods: {
        }
    })
</script>
</body>

  第三种:

<body>
<div id="app">
    <mycom3></mycom3>
</div>
<div id="app2">
    <mycom3></mycom3>
    <login></login>
</div>
<template id="tmpl">
    <div>
        <h1>这是通过 template 元素,在外部定义的组件结构,这个方式,有代码的智能提示和高亮</h1>
        <h4>vue-template</h4>
    </div>
</template>
<template id="tmpl2">
    <h1>这是私有的login组件</h1>
</template>
<script>
    /*注意:不论是那种方式创建出来的组件,组件的template 属性指向的模板内容,必须有且只能有唯一的一个根元素*/
    Vue.component('mycom3', {
        template:'#tmpl'
    })
    var vm = new Vue({
        el: '#app',
        data: {
        },
        methods: {
        }
    })

    var vm2 = new Vue({
        el:'#app2',
        data:{},
        methods:{},
        filters:{},
        components:{ // 定义实例内部私有组件
            login:{
                template:'#tmpl2'
            }
        }

    })
</script>
</body>

 

转载于:https://www.cnblogs.com/cgy-home/p/11335585.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3.2和Echarts 5.4都是非常流行的前端开发工具,下面我会分别给你介绍一下它们的组件化特性。 Vue 3.2Vue.js框架的一个版本,它引入了一些新的特性和改进。在Vue 3.2中,组件化是一个非常重要的概念。Vue组件化允许开发者将页面拆分成独立的、可复用的组件,每个组件都有自己的模板、样式和逻辑。这种组件方式使得开发更加模块化、可维护性高,并且可以提高代码的复用性。 在Vue 3.2中,可以使用`defineComponent`函数来定义一个组件组件可以包含模板、样式和逻辑,并且可以通过props来接收父组件传递的数据。你还可以使用`emit`函数来触发自定义事件,以便与父组件进行通信。另外,Vue 3.2还引入了`teleport`组件,可以方便地将组件渲染到DOM树的其他位置。 而Echarts 5.4是一个强大的数据可视化库,它提供了丰富的图表类型和交互功能。在Echarts 5.4中,也支持组件化的方式来使用图表。你可以将Echarts图表封装成一个独立的组件,然后在需要的地方引用这个组件。 在Echarts 5.4中,你可以使用`echarts`对象来创建和配置图表。你可以将图表的配置项作为props传递给Echarts组件,并在组件内部使用`echarts.init`方法来初始化图表。你还可以通过监听事件来实现与图表的交互,比如点击、鼠标移动等。 总结一下,Vue 3.2和Echarts 5.4都支持组件化的开发方式Vue 3.2可以帮助你将页面拆分成独立的、可复用的组件,而Echarts 5.4可以帮助你将图表封装成独立的组件。这样的组件化开发方式可以提高代码的可维护性和复用性,同时也方便了开发和维护大型应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值