Vue3-19-组件-定义和基本使用

组件的定义

个人理解 :
    1、组件,就是我们把某个功能模块进行封装,在使用时直接引入进行使用,极大的提高了代码的可复用性。
    
    2、在vue 中,一个 [.vue] 文件,就是一个组件。
    
    3、组件之间存在【引入】 与 【被引入】的依赖关系:
       【被引入】的组件可以称之为 “子组件”,
       【引入】其他组件的组件 可以称之为 “父组件”;

	4、通过上述的 “父子组件” 之间的关系,代码程序最终呈现的效果可能就是一棵 组件树:
	     根组件(App.vue)
	     	| -- 子组件1
	     		| -- 子组件11
	     		| -- 子组件12
	     		| -- 。。。
	     	| -- 子组件2
	     		| -- 子组件21
	     		| -- 。。。
	     	| -- 。。。

组件的特性

在 vue 中,组件有如下特性 :
	1、组件定义在 后缀为 [.vue] 的文件中;
	2、组件在定义后,会默认自动的导出给外部,外部可以直接引入使用;
	3、组件在使用时可以很方便的复用,但是 每个复用组件,它内部的数据状态都是独立的,不会相互影响;
	4、使用组件时,推荐使用 【驼峰命名法】,以此 和 原生的html 标签作为区分。
    5、但是可以支持的写法有 :
	     【驼峰命名+ / 关闭标签】
	     【驼峰命名+正常关闭标签】
	     【中划线命名+正常关闭标签】

组件的定义和使用案例

案例说明:
1、定义 子组件 : 自己展示一点内容;
2、定义父组件 :引入子组件 ,进行使用展示。

定义子组件 ChildComponent.vue

<template>

    <!-- 子组件 -->
    <div class="childdiv">  
        子组件msg : {
  { msg }}
    </div>
    
</template>
    
<script setup lang="ts">

    import {
      ref } from 'vue'

    // 声明一个变量
    const msg = ref('这是子组件的msg变量')
    
</script>
    
<style scoped>

    .childdiv{
     
        width: 300px;
        border: 1px solid green;
    }

</style>

定义父组件 App.vue

这里为了简单点,直接使用 【App.vue】 作为父组件了。

<template>

    <div class="basediv">
      
        父组件msg : {
  { msg }}

        <br>
        <br>
        <!-- 子组件的使用 : 注意体会不同的写法,效果都是一样的 -->

        <!-- 【驼峰命名+ / 关闭标签】 : 推荐这种写法-->
        <ChildComponent />
        <br>
        <!-- 【驼峰命名+正常关闭标签】  -->
        <ChildComponent></ChildComponent>
        <br>
        <!-- 【中划线命名+正常关闭标签】 -->
        <child-component></child-component>

    </div>
    
  
</template>
    
<script setup lang="ts">

    import {
      ref } from 'vue'

    // 引入子组件
    import ChildComponent from './ChildComponent.vue'

    // 声明父组件的一个变量
    const msg = ref('这是父组件的msg变量')
    
</script>
    
<style scoped>

    .basediv{
     
        width: 400px;
        height: 200px;
        border: 1px solid red;
    }
</style>

运行效果:

在这里插入图片描述

相关推荐

  1. vue3使用定义组件内方法

    2023-12-17 22:52:02       51 阅读
  2. vue3:自定义组件使用v-model

    2023-12-17 22:52:02       38 阅读
  3. Vue3全局组件定义指令

    2023-12-17 22:52:02       64 阅读
  4. vue3如何定义一个组件

    2023-12-17 22:52:02       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-17 22:52:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-17 22:52:02       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-17 22:52:02       82 阅读
  4. Python语言-面向对象

    2023-12-17 22:52:02       91 阅读

热门阅读

  1. 高防CDN在游戏服务商中的关键意义

    2023-12-17 22:52:02       60 阅读
  2. linux查看系统位数

    2023-12-17 22:52:02       57 阅读
  3. Fortune Telling

    2023-12-17 22:52:02       71 阅读
  4. Linux计划任务

    2023-12-17 22:52:02       44 阅读
  5. Rust做一个图片服务器有多难?

    2023-12-17 22:52:02       56 阅读