前端(vue组件)

1组件对象

1.1定义组件对象 defineComponent( {} )

1.2注册组件

1.3使用组件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>组件</title>
</head>
<body><div id="app">{{person}}<my-component1></my-component1><my-component2></my-component2></div><script type="module">import { createApp, defineComponent } from './Js/vue.esm-browser.js';// 定义 MyComponent 组件const MyComponent1 = defineComponent({template: '<div><div><h1>李四真帅{{person}}</h1></div></div>',// 可以在这里添加更多的选项,如 props, data, methods 等等setup(props) {let person={name:"李四"};return{person}}});const MyComponent2= defineComponent({template: '<div><div><h1>李四真帅{{person}}</h1></div></div>',// 可以在这里添加更多的选项,如 props, data, methods 等等setup(props) {let person={name:"李四"};return{person}}});// 创建应用实例,并全局注册组件const app = createApp({// 根组件可以为空对象,因为我们在全局注册了组件components:{MyComponent1,MyComponent2},setup(props) {let person={name:"李四"};return{person}}});// 挂载应用到 DOM 中app.mount('#app');</script>
</body>
</html>
2组件对象和Vue对象的区别
vue.__proto__  == MyComponent.__proto__ ;  //true

vue是通过createApp({}) 创建的对象MyComponent是通过defineComponent({})创建的对象js中每个对象都有一个 ‌proto 属性,它指向该对象的原型对象也就是父对象也就是 vue 和 MyComponent 这两个对象拥有同一个父亲根据现象对象继承规则 , vue ≈ MyComponent

因此MyComponent 中的组件选项写法和vue中的写法一致

3组件化编程
3.1模块与组件 模块化与组件化

 4vite

网址:https://vitejs.cn/vite3-cn/guide/

vite创建项目的步骤

1 选定项目路径

2 在此路径输入指定命令: npm create vite@latest

project-name
│
├── public                  # 静态资源目录
│   ├── favicon.ico         # Favicon
│   └── index.html          # HTML 模板
│
├── src                     # 源代码
│   ├── assets              # 资源目录(图片,视频,音频等文件)
│   │   └── logo.svg        # 项目 LOGO
│   ├── components          # 组件目录( 组件对象存放目录 )
│   │   └── HelloWorld.vue  # 示例组件
│   ├── App.vue             # 主组件
│   └── main.js             # 入口文件
│
├── vite.config.js          # Vite 配置文件(重要)
└── package.json            # 依赖管理和配置文件 (重要)
└── index.html              # 主页模板文件,通常会被 public/index.html 替代 (重要)
└── README.md               # 项目说明文件 (忽略)
└── tsconfig.json           # TypeScript 配置文件,如果使用 TypeScript 的话 (忽略)
└── .gitignore              # Git 忽略文件列表 (忽略)
└── .editorconfig           # 编辑器配置文件 (忽略)
└── .eslintrc.js            # ESLint 配置文件,如果使用 ESLint 的话 (忽略)
└── babel.config.js         # Babel 配置文件,如果使用 Babel 的话 (忽略)

运行:

在项目文件夹目录下:

1 执行 npm i //安装所有的依赖

2 执行 npm run dev

项目的入口为index.html

在index.html中引入了 main.js

<!doctype html>
<html lang="en"><head><meta charset="UTF-8" /><link rel="icon" type="image/svg+xml" href="/vite.svg" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Vite + Vue</title></head><body><div id="app"></div><script type="module" src="/src/main.js"></script></body>
</html>
import { createApp } from 'vue'import './style.css' //引入样式文件
import App from './App.vue'  //此行代码等价于 let App = defineComponent({})//将App注册到vue对象上 并且 vue对象绑定页面id为app的标签
createApp(App).mount('#app')

每个vue文件就是一个组件对象

let vue文件名 = defineComponent({})

template标签来时书写组件的html标签

style标签用来书写针对html标签的样式

script中定义js数据,可以在html标签中使用这些数

5vite使用组件

语法: import 组件名 from "组件路径"

import HelloWorld from './components/HelloWorld.vue'
组件名一般首字母大写,多个单词则驼峰命名(和java类名规则一致)

5.2使用组件(在此不需要注册了)

<script setup>
//引入组件
import HelloWorld from './components/HelloWorld.vue'
</script><template>
<!--  使用组件--><HelloWorld/>
<!--  自定义标签--><div class="box">自定义标签div,字体为红色</div>
</template><style scoped>
.box{
color: red;
}
</style>


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/889827.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL八股-MVCC入门

文章目录 当前读&#xff08;加锁&#xff09;快照读&#xff08;不加锁&#xff09;MVCC隐藏字段undo-log版本链A. 第一步B.第二步C. 第三步 readview MVCC原理分析RCA. 先来看第一次快照读具体的读取过程&#xff1a;B. 再来看第二次快照读具体的读取过程: RR隔离级别 当前读…

初始Python篇(6)—— 字符串

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a; Python 目录 字符串的常见操作 格式化字符串 占位符 f-string 字符串的 format 方法 字符串的编码与解码 与数据验证相关的方法 …

从 CephFS 到 JuiceFS:同程旅游亿级文件存储平台构建之路

随着公司业务的快速发展&#xff0c;同程旅行的非结构化的数据突破 10 亿&#xff0c;在 2022 年&#xff0c;同程首先完成了对象存储服务的建设。当时&#xff0c;分布式文件系统方面&#xff0c;同程使用的是 CephFS&#xff0c;随着数据量的持续增长&#xff0c;CephFS 的高…

Jenkins参数化构建详解(This project is parameterized)

本文详细介绍了Jenkins中不同类型的参数化构建方法&#xff0c;包括字符串、选项、多行文本、布尔值和git分支参数的配置&#xff0c;以及如何使用ActiveChoiceParameter实现动态获取参数选项。通过示例展示了传统方法和声明式pipeline的语法 文章目录 1. Jenkins的参数化构建1…

【图像处理】利用numpy实现直方图均衡、自适应直方图均衡、对比度受限自适应直方图均衡

直方图均衡化是一种在图像处理技术&#xff0c;通过调整图像的直方图来增强图像的对比度。 本博客不利用opencv库&#xff0c;仅利用numpy、matplotlib来实现直方图均衡、自适应直方图均衡、对比度受限自适应直方图均衡 直方图均衡 包括四个流程 计算图像RGB三通道的归一化直…

组织空转数据(人类+小鼠)

空间转录组&#xff08;Spatial Transcriptomics&#xff09;是一种新兴的高通量基因组学技术&#xff0c;它允许我们在组织切片中同时获取基因表达信息和细胞的空间位置信息。其可以帮助我们更好地理解细胞在组织中的空间分布和相互作用&#xff0c;揭示组织发育、器官功能和疾…

[数据结构#1] 并查集 | FindRoot | Union | 优化 | 应用

目录 1. 并查集原理 问题背景 名称与编号映射 数据结构设计 2. 并查集基本操作 (1) 初始化 (2) 查询根节点 (FindRoot) (3) 合并集合 (Union) (4) 集合操作总结 并查集优化 (1) 路径压缩 (2) 按秩合并 3. 并查集的应用 (1) 统计省份数量 (2) 判断等式方程是否成…

JPA 基本查询(一)

JPA 查询简介示例 JPA教程 - JPA查询简介示例 最简单的JPQL查询选择单个实体类型的所有实例。 考虑下面的查询: SELECT e FROM Employee eJPQL尽可能使用SQL语法。 SQL查询从表中选择。JPQL从应用程序域模型的实体中选择。 语法 选择查询的整体形式如下: SELECT <sel…

【操作系统1】一篇文章便可入门操作系统

操作系统 (Operating System,OS)是一种系统软件&#xff0c;它负责管理计算机的硬件和软件资源。它的主要任务是组织和调度计算机的工作&#xff0c;并分配资源给用户和其他软件。操作系统为用户和软件提供了方便的接口和环境。它是计算机系统中最基本的软件之一。 一、操作系…

μC/OS-Ⅱ源码学习(6)---事件标志组

快速回顾 μC/OS-Ⅱ中的多任务 μC/OS-Ⅱ源码学习(1)---多任务系统的实现 μC/OS-Ⅱ源码学习(2)---多任务系统的实现(下) μC/OS-Ⅱ源码学习(3)---事件模型 μC/OS-Ⅱ源码学习(4)---信号量 μC/OS-Ⅱ源码学习(5)---消息队列 本文进一步解析事件模型中&#xff0c;事件标志…

【经验分享】OpenHarmony5.0.0-release编译RK3568不过问题(已解决)

问题描述 根据操作手册正常拉取代码&#xff0c;然后编译OpenHarmony5.0.0版本rk3568项目 编译命令 ./build.sh --product-name rk3568 --ccache出现如下报错 然后真正开始出错的位置是下面这句log FAILED: ../kernel/src_tmp/linux-5.10/boot_linux ../kernel/checkpoint/c…

C++重点和练习-----多态

rpg.cpp: #include <iostream>using namespace std;/*模拟一个游戏场景有一个英雄&#xff1a;初始所有属性为1atk,def,apd,hp游戏当中有以下3种武器长剑Sword&#xff1a; 装备该武器获得 1atx&#xff0c;1def短剑Blade&#xff1a; 装备该武器获得 1atk&#xff0c;1…

Qt之点击鼠标右键创建菜单栏使用(六)

Qt开发 系列文章 - menu&#xff08;六&#xff09; 目录 前言 一、示例演示 二、菜单栏 1.MenuBar 2.Menu 总结 前言 QMainWindow是一个为用户提供主窗口程序的类&#xff0c;包含一个菜单栏&#xff08;menubar&#xff09;、多个工具栏(toolbars)、一个状态栏(status…

天猫魔盒M17/M17S_超级UI 线刷固件包-可救砖(刷机取消双勾)

在智能电视盒子的领域中&#xff0c;天猫魔盒 M17 以其独特魅力占据一席之地&#xff0c;然而&#xff0c;原厂设置有时难以满足进阶用户的多元需求。此刻&#xff0c;刷机成为开启全新体验的关键钥匙&#xff0c;为您的盒子注入鲜活能量。 一、卓越固件特性概览 此款精心打造的…

Elasticsearch 7.x入门学习-Spring Data Elasticsearch框架

1 Spring Data框架 Spring Data 是一个用于简化数据库、非关系型数据库、索引库访问&#xff0c;并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷&#xff0c;并支持 map-reduce 框架和云计算数据服务。 Spring Data 可以极大的简化 JPA的写法&#xff0c;…

【落羽的落羽 C语言篇】一些常见的字符函数、字符串函数、内存函数

文章目录 一、字符函数1. 字符分类函数2. 字符转换函数 二、字符串函数1. strlen的使用和模拟实现使用模拟实现 2. strcpy的使用和模拟实现使用模拟实现 3. strcat的使用和模拟实现使用模拟实现 4. strcmp的使用和模拟实现使用模拟实现 5. strncpy的使用6. strncat的使用7. str…

JAVA:访问者模式(Visitor Pattern)的技术指南

1、简述 访问者模式(Visitor Pattern)是一种行为型设计模式,允许你将操作分离到不同的对象中,而无需修改对象本身的结构。这种模式特别适合复杂对象结构中对其元素进行操作的场景。 本文将介绍访问者模式的核心概念、优缺点,并通过详细代码示例展示如何在实际应用中实现…

小米自研系统Vela全面开源:开启物联网新时代的技术革新之旅

目录 Vela系统的技术特点 1. 高性能与低功耗的完美平衡 2. 高度可扩展性与模块化设计 3. 强大的安全机制 4. 跨平台兼容性 Vela系统的应用场景 1. 智能家居领域 2. 工业物联网领域 3. 医疗健康领域 4. 智慧城市领域 Vela系统的深远影响 1. 推动物联…

Linux/CentOS编译TensorFlow

很多时候为了方便图省事&#xff0c;是通过pip安装TensorFlow的&#xff0c;然而很不幸运行的服务器不支持AVX指令&#xff0c;引入模块的时候会报错&#xff1a; The TensorFlow library was compiled to use AVX instructions, but these aren’t available on your machine.…

2021陇剑杯——流量分析

JWT简介 JWT&#xff08;JSON Web Token&#xff09;是一种开放标准&#xff08;RFC 7519&#xff09;&#xff0c;用于在网络应用环境中以一种紧凑的、URL安全的方式传递声明&#xff08;Claims&#xff09;。JWT通常用于身份验证、信息交换以及验证消息的完整性。JWT通过在不…