手记

【九月打卡】第4天 组件的定义及复用性,局部组件和全局组件

课程名称:2022持续升级 Vue3 从入门到实战 掌握完整知识体系

课程章节:3-1 组件的定义及复用性,局部组件和全局组件(1),3-2 组件的定义及复用性,局部组件和全局组件(2)

主讲老师:Dell


课程内容:

今天学习的内容包括: 组件的定义及复用性,局部组件和全局组件

知识点:
    1. 组件具备复用性  
    2. 全局组件:即使不用时也会挂载在 app 上,可以全局调用。虽然性能不高,但是使用简单
    3. 全局组件取名建议: 小写字母单词,多个字母中间用横线分隔例如 hello-world
    4. 局部组件: 定义了,要在 Vue.createApp({}) 中用 components{} 注册才能使用,性能比较高,使用起来有些麻烦
    5. 局部组件取名建议:驼峰式命名;例如 HelloWorld。单个单词首字母大写,以便区分局部组件和普通常量
    6. 局部组件使用时,要做一个名字和组件间的映射对象,如果组件用的名字和定义的名子相同,不做映射,Vue 底层也会自动做映射

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

<script>

        // 组件的定义

        // 组件具备复用性

        // 全局组件,只要定义了,处处可以使用,性能不高,但是使用起来简单,名字建议 小写字母单词,中间用横线间隔

        // 局部组件,定义了,要注册之后才能使用,性能比较高,使用起来有些麻烦,建议大些字母开头,驼峰命名

        // 局部组件使用时,要做一个名字和组件间的映射对象,你不写映射,Vue 底层也会自动尝试帮你做映射


        const Counter = {

            data() {

                return {

                    count: 1

                }

            },

            template: `<div @click="count += 1">{{count}}</div>`

        }


        const HelloWorld = {

            template: `<div>hello world</div>`

        }


        const app = Vue.createApp({

            components: {

                // counter: Counter,

                // 'hello-world': HelloWorld,

                Counter, HelloWorld,

            },

            template: `

                <div><hello-world /><counter /></div>

            `

        });


        // app.component('counter-parent', {

        //     template: `<counter />`

        // })


        // app.component('counter', {

        //     data() {

        //         return {

        //             count: 1

        //         }

        //     },

        //     template: `<div @click="count += 1">{{count}}</div>`

        // })


        const vm = app.mount('#root');

    </script>

课程收获:

今天第三章学了快一半,这里选取的是今天学习的前两节知识点。Vue 的组件是很重要的一个的概念,本章大部分内容需要多看多练,熟能生巧。

今日课程学习时间大约花费 18 分钟。


0人推荐
随时随地看视频
慕课网APP