uniapp组件用法

news2024/9/27 17:28:03

一. 什么是组件,有什么好处?

在uni-app中,组件是构成应用的基本单位,它们是用来定义用户界面的一部分,并且通常包含了视图和逻辑。组件的设计使得开发者能够以声明式的方式构建应用界面,并且通过组件化的开发方式来提高代码的复用性、可维护性和可读性。以下是uni-app中组件的一些重要作用:

  1. 封装性:组件将界面的结构、样式和逻辑封装在一起,使得每个组件都是独立的,易于理解和管理。

  2. 复用性:组件可以在不同的地方重复使用,减少代码的冗余,提高开发效率。

  3. 可组合性:简单的组件可以组合成更复杂的组件,这样就可以构建出复杂多变的应用界面。

  4. 数据驱动:组件的状态可以通过数据来驱动,当组件的数据发生变化时,组件会自动更新其视图。

  5. 事件处理:组件可以响应用户的交互事件,如点击、触摸等,并执行相应的操作或触发父组件中的事件处理函数。

  6. 生命周期:组件拥有自己的生命周期,在不同的阶段可以执行特定的操作,比如初始化、渲染前后的处理等。

  7. 样式隔离:组件内部的样式可以被隔离,防止样式冲突,保证组件的独立性。


二. 自定义组件

自定义组件其实就是一个单独的vue文件,原理和jsp中的include作用类.

组件如何创建?

1.首先在项目中创建一个文件夹 components 用于存放组件

2.右击会出现 创建组件

3.使用组件(两种)


<template>
	<!-- 使用组件 -->
<bdqnHeaderVue/>
</template>

<script setup>
	// 采用注册的方式,适用于vscode
	import {bdqnHeaderVue} from '../../components/bdqn-header/bdqn-header.vue';
</script>

<style scoped lang="scss">
	
</style>

<template>
	<!-- 直接使用组件 -->
	<bdqn-header></bdqn-header>
	
</template>

<script setup>

</script>

<style scoped lang="scss">

</style>

三. 使用 Props 动态的给组件内容赋值


简单使用

首先需要在JavaScript中引入 defineProps() 表示可以接收值

<script setup>
	defineProps(['name', 'img'])
</script>

直接定义的值只能在页面中使用

<template>
	<view class="header">
		<image :src="img"></image>
		<view class="tet">{{name}}</view>
	</view>
</template>

如何处理传过来的值?

传过来的数据,只是一个只读类型,可以使用,但是无法更改

<script setup>
	const data = defineProps(['name', 'img'])
	console.log(data.name);
	console.log(data.img);
	console.log('-------------');
</script>

想要对传输过来的值进行修改,只需要进行接收赋值即可,这里采用计算属性computed

<script setup>
	import {
		computed
	} from 'vue';
	const data = defineProps(['name', 'img'])
	var myname = computed(() => {
		return data.name + '@@@';
	})
</script>

如果调用者未传值应该怎么办?

可以定义一个默认值和指定传入的类型.

使用对象来接收,分别为属性进行设置

defineProps({
		name:{
			type:String, //指定类型
			default:"匿名"  //默认值
		},
		img:{
			type:String
		}
	})

如何传递对象?

直接接收即可

<script setup>
	defineProps(["obj"])
</script>

设置默认值

<script setup>
	defineProps({
		obj:{
			type:Object,
			default(){
				return {
					name:'匿名',
					img:'../../static/3.png'
				}
			}
		}
	})
</script>

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

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

相关文章

损失函数、成本函数cost 、最大似然估计

一、损失函数 什么是损失函数&#xff1f; 【深度学习】一文读懂机器学习常用损失函数&#xff08;Loss Function&#xff09;-腾讯云开发者社区-腾讯云 损失函数&#xff08;loss function&#xff09;是用来估量模型的预测值f(x)与真实值Y的不一致程度&#xff0c;它是一个…

Python 新手必看:如何用 unittest 写出高质量代码?

文末赠免费精品编程资料~~ 在 Python中 &#xff0c;unittest 模块是进行单元测试的强大工具。无论你是初学者还是有经验的开发者&#xff0c;单元测试都是确保代码质量的重要一环。而 unittest 模块就是让这一过程变得简单、快捷的利器。 什么是单元测试&#xff1f; 在进入…

浩瀚麦克风怎么样?西圣、罗德、神牛领夹麦克风全网巅峰PK测评

​一台优质专业的无线领夹麦克风能够清晰、稳定地收录声音&#xff0c;提升音频录制质量。而劣质的无线领夹麦克风则可能出现声音不清晰、信号不稳定、续航短等各种问题。作为一名资深的数码测评师&#xff0c;我已经测评过了好几十款无线领夹麦克风&#xff0c;今天将从麦克风…

Python应用指南:获取高德地铁站点数据(单城市版)

书接上文&#xff0c;上篇文章是一次性下载全国所以城市的地铁站点数据&#xff0c;但是可视化的过程需要手动把换乘站给一个个复制出来分配到其他各个经过的线路&#xff0c;还需要核对站点顺序不能出错&#xff0c;如果只需要单个城市的数据呢&#xff1f;另外能不能直接生成…

【复杂系统系列(初级)】自动调节动态平衡模型——生物体的稳态机制

【通俗理解】自动调节动态平衡模型——生物体的稳态机制 关键词提炼 #自动调节 #动态平衡 #生物体稳态 #反馈机制 #体温调节 #微分方程模型 第一节&#xff1a;自动调节动态平衡模型的类比与核心概念 1.1 自动调节动态平衡模型的类比 自动调节动态平衡模型可以被视为生物体…

grpc-spring 通信(监控视频传输)

先看效果 这是微软相机&#xff0c;22ms延迟 &#xff08;不走网络存粹寄存器和内存的通信&#xff09;这是程序抓取摄像头然后传给client&#xff0c;client的java窗口展示的&#xff0c;延时也是22ms&#xff08;对了localhost好像也不走网络吧&#xff09; 几个点 1.openc…

大功率舞台灯调光调色方案 | 支持深度调光,多路输出调光 36V/48V/60V FP7126

在舞台演出中&#xff0c;灯光扮演着非常重要的角色&#xff0c;它不仅可以烘托氛围&#xff0c;营造氛围&#xff0c;更能够为表演者增添光彩&#xff0c;塑造形象。在博物馆场所中&#xff0c;突出展品细节。根据灯光用途和适用类型&#xff0c;舞台灯可以细分为聚光灯、泛光…

foundation model

目录 多模态预训练模型 BLIP LLM GPT3 InstructGPT FLAN chain of thought ToolFormer QWEN Llama3 VLM QWen-VL VideoChat Video-ChatGPT 应用 DriveVLM PlanAgent 多模态预训练模型 CLIP BLIP 《Bootstrapping Language-Image Pre-training for Unified Visi…

突发!Runway 从 HuggingFace 及 GitHub 上删库跑路,背后有何隐情?

突发&#xff01;2024年8月29日Runway 从 HuggingFace 及 GitHub 上删库跑路&#xff0c;背后有何隐情&#xff1f; &#x1f9d0; 今天我们来聊一聊科技圈一则爆炸性消息&#xff1a;Runway ML 从 HuggingFace 和 GitHub 上删库跑路&#xff0c;毫无预警&#xff01;这个举动…

基于asp.net的在线考试系统源码分享

这是一个基于asp.net的开发的在线考试系统&#xff0c;需要的小伙伴自己参考源码&#xff0c;下载链接我放在后面了。 1.主要功能 主要功能包含用户注册登陆、学生登录、老师登陆、试卷管理、分数管理、 填空题选择、选择题管理、题库管理、分数管理、试卷随机生成等等模块。…

【精选】基于Django的智能水果销售系统设计与实现

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

面试必问的 Linux 命令帮你整理好啦...

01.背景 作为一名测试工程师&#xff0c;Linux 是必须要掌握的一项技能。 因为大部分的互联网公司的项目都是搭建和部署在 Linux 服务器上的&#xff0c;所以测试就算不去负责搭建和维护测试环境&#xff0c;也需要在测试过程中去服务器那边定位测试中的问题。 所以&#xf…

PTA L1-027 出租

L1-027 出租&#xff08;20分&#xff09; 下面是新浪微博上曾经很火的一张图&#xff1a; 一时间网上一片求救声&#xff0c;急问这个怎么破。其实这段代码很简单&#xff0c;index数组就是arr数组的下标&#xff0c;index[0]2 对应 arr[2]1&#xff0c;index[1]0 对应 arr[0…

这四种人不能合作做生意

合伙创业千万不要和这四种人合伙&#xff0c;不然公司做大了都不是你的&#xff01; 一、不愿出钱的人&#xff0c;不愿出钱就不会有决心。公司一旦有风吹草动&#xff0c;最先跑路的都是没有出钱的。 二、不愿付出时间的人&#xff0c;想用业余时间参与&#xff0c;不愿全身心…

Unity编辑器扩展之Hierarchy面板扩展

内容将会持续更新&#xff0c;有错误的地方欢迎指正&#xff0c;谢谢! Unity编辑器扩展之Hierarchy面板扩展 TechX 坚持将创新的科技带给世界&#xff01; 拥有更好的学习体验 —— 不断努力&#xff0c;不断进步&#xff0c;不断探索 TechX —— 心探索、心进取&#xff…

css-functions-图形函数

概述 本文会讨论和图形函数有关的 5 个函数,分别是:inset、circle、ellipse、polygon和path。这个 5 个图形函数也对应着相应的<basic-shape>。 <basic-shape>是一种表现基础图形的 CSS 数据类型,作用于clip-path或shape-outside属性中;而其值是由图形函数获…

sfud移植

sfud移植 首先看readme文档 文件结构 inc文件夹&#xff1a;各种头文件&#xff0c;注意flash_def和cfg头文件 port文件夹&#xff1a;接口文件 src文件夹&#xff1a;代码源文件 移植 基础&#xff1a;你的SPI没问题&#xff0c;用普通工程可以正常操作Flash 首先打开f…

cloudways相关

服务器优惠链接&#xff1a; https://www.cloudways.com/en/?id1081165 cloudways 后台清缓存位置&#xff1a; 网站迁移到cloudways&#xff08;用cloudways的自动迁移插件&#xff09;&#xff1a; 不管原网站是不是用的cloudways主机&#xff0c;都可以用这个方法。 1…

【React】react项目安装tailwindcss

创建React项目 首先,如果您还没有React项目,可以使用以下命令创建一个新项目: npx create-react-app my-tailwind-app cd my-tailwind-app安装Tailwind CSS 接下来,按照以下步骤安装Tailwind CSS: 安装必要的依赖: npm install -D tailwindcss postcss autoprefixer初始化…

Kubernetes 1.31 新功能: 细粒度补充组控制

这篇文章讨论了 Kubernetes 1.31 中的一个新特性&#xff0c;用于改善 Pod 中容器的补充组&#xff08;Fine-grained SupplementalGroups control&#xff09;处理。 动机&#xff1a;在容器镜像中的 /etc/group 定义的隐式组成员身份 尽管这种行为可能并不受许多 Kubernetes…