vue3 CSSProperties使用

news/2024/7/10 3:02:54 标签: vue, typescript

文章目录

  • 一、使用案例
  • 二、CSSProperties 介绍

在开发Web应用程序时,我们经常使用CSS样式来定义和布局网页的元素。在TypeScript中,我们可以使用CSSProperties类型来定义CSS属性的类型。

一、使用案例

父组件

<template>
  <div>home</div>
  <ChildComponent ref="refChild" :size="imgSize"/>

</template>

<script setup lang="ts">
import {ref} from "vue";

import ChildComponent from "@/views/ChildComponent/ChildComponent.vue";
const refChild = ref<InstanceType<typeof ChildComponent>>(null);
interface IImgSize{
  width:number,
  height:number
}
const imgSize = ref<IImgSize>(null)
imgSize.value = {
  width:200,
  height:50
}
</script>
<style scoped></style>

父组件我们传递一个size属性,size属性很简单,就宽度和高度

子组件

<template>
  <div :style="getStyle"></div>

</template>

<script setup lang="ts">
import { ref, onMounted,CSSProperties,computed } from "vue";
interface IImgSize{
  size:{
    width:number,
    height:number
  }
}
const props = withDefaults(defineProps<IImgSize>(),{
  size:{
    width:200,
    height:20
  }
})
const getStyle = computed(
    (): CSSProperties => {
      const { size } = props;
      return {
        width: size.width + 'px',
        height: size.height + 'px',
      };
    }
);

</script>
<style scoped>
div{
  background-color: red;
}
</style>

在子组件中我们接受到size,并用于控制div的大小。在这个,针对css类型定义我们就用到了CSSProperties

二、CSSProperties 介绍

CSSProperties 是TypeScript中定义的一个接口,用于描述CSS属性的类型。它包含了大多数常用的CSS属性,比如颜色、字体、边框、布局等。我们可以根据需要添加或修改这些属性。

以下是CSSProperties接口的一部分定义:

interface CSSProperties {
  color?: string;
  fontSize?: string;
  margin?: string;
  // ...
}


http://www.niftyadmin.cn/n/5418985.html

相关文章

Linux centos6安装rz、sz命令

centos6传文件提示command not found # yum install lrzsz 提示错误 wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz 下载离线包 https://www.ohse.de/uwe/software/lrzsz.html 下载最新版本 [rootnode1 ~]# tar -zxvf lrzsz-0.12.20.tar.gz …

Vue 2和Vue 3透传Attributes特性

Vue 2和Vue 3在透传Attributes方面存在一些区别&#xff0c;这些区别主要体现在对Attributes的处理方式和灵活性上。 在Vue 2中&#xff0c;当父组件向子组件传递Attributes时&#xff0c;这些Attributes会自动绑定到子组件的根元素上。这意味着&#xff0c;如果父组件为子组件…

华为OD机试真题-5G网络建设

5G网络建设 题目描述 现需要在某城市进行5G网络建设&#xff0c;已经选取N个地点设置5G基站&#xff0c;编号固定为1到N&#xff0c;接下来需要各个基站之间使用光纤进行连接以确保基站能互联互通&#xff0c;不同基站之间架设光纤的成本各不相同&#xff0c;且有些节点之间已…

OpenCV的常用数据类型

OpenCV涉及的常用数据类型除包含C的基本数据类型,如&#xff1a;char、uchar&#xff0c;int、unsigned int,short 、long、float、double等数据类型外, 还包含Vec&#xff0c;Point、Scalar、Size、Rect、RotatedRect、Mat等类。C中的基本数据类型不需再做说明下面重点介绍一下…

VLAN FAQ

如何快速查看所有接口的接口类型和缺省VLAN&#xff1f; 可通过命令display port vlan查看到设备上所有接口的接口类型和缺省VLAN。例如&#xff1a; V200R005及后续版本<HUAWEI> display port vlan Port Link Type PVID Trunk VLAN List --…

MapReduce-Join多种应用

Join多种应用 Reduce Join Map端的主要工作&#xff1a;为来自不同表或文件的key/value对&#xff0c;打标签以区别不同来源的记录。然后用连接字段作为key&#xff0c;其余部分和新加的标志作为value&#xff0c;最后进行输出。Reduce端的主要工作&#xff1a;在Reduce端以连…

全量知识系统之 程序类 之4目的-关于SubEventBuilder的一些 常见问题(百度AI答问)

Q16.如何确保SubEventBuilder正确初始化&#xff1f; 确保SubEventBuilder正确初始化通常涉及以下几个步骤&#xff1a; Builder模式&#xff1a;如果SubEventBuilder是一个构建器模式&#xff08;Builder Pattern&#xff09;的一部分&#xff0c;你可能需要在每个setter方法…

Golang如何使用命令行-- flag库

参考文献&#xff1a; flag package - flag - Go Packages 使用&#xff1a; import "flag" var nFlag flag.Int("n", 1234, "help message for flag n") 上述方法返回的是一个指针变量nFlag&#xff0c;如果我们要打印&#xff0c;应该使用…