当前位置: 首页 > news >正文

制作公司网站要多少钱武汉seo论坛

制作公司网站要多少钱,武汉seo论坛,数据推广平台有哪些,免费ppt模板简约阅读时长: 10 分钟 本文内容:记录在 Vue3 中使用 ts 时的各种写法. 类型大小写 vue3 ts 项目中,类型一会儿大写一会儿小写。 怎么区分与基础类型使用? String、string、Number、number、Boolean、boolean … 在 js 中, 以 string 与 String…

阅读时长: 10 分钟

本文内容:记录在 Vue3 中使用 ts 时的各种写法.

在这里插入图片描述

类型大小写

vue3 + ts 项目中,类型一会儿大写一会儿小写。

怎么区分与基础类型使用? String、string、Number、number、Boolean、boolean …

  • 在 js 中, 以 string 与 String 举例,后者是前者的包装对象,其他类型也一个意思。

  • 在 ts 中,以 string 与 String 举例,前者是 ts 中的类型,后者是 js 中的对象,其他类型也一个意思。

结论:在 ts 中使用小写 定义参数类型(例如:定义 title: string,而不是 title: String )。

<script setup lang="ts">interface DialogOptions {title: string; // 小写visible?: boolean; // 小写}const props = defineProps<DialogOptions>();</script>

props 类型约束

对于 props 类型进行限制时有 4 种写法:

1.(推荐) 先定义接口,然后使用

缺陷: 无法定义默认值

<script setup lang="ts">interface DialogOptions {title: string;visible?: boolean;callback: (row: any) => any;}const props = defineProps<DialogOptions>();
</script>

2.(不推荐) 直接通过泛型约束类型

缺陷:写起来过于复杂

<script setup lang="ts">const props = defineProps<{title: string;visible?: boolean;callback: (row: any) => any;}>();
</script>

3.(推荐) 先定义接口,结合 Vue3 框架提供的 withDefaults() 来约束类型

适用于:可定义默认值

<script setup lang="ts">interface DialogOptions {title?: string;visible?: boolean;callback: (row: any) => any;}const props = withDefaults(defineProps<DialogOptions>(), {title: "dialog title",visible: false,});
</script>

4.(不推荐)保持与 vue2 一致的写法。使用 Vue3 框架提供的宏函数 defineProps() 内置的类型推导功能

优点:此写法虽然与 Vue2 中写法一致,但是 type 的值必须使用大写。大小写混用,容易造成认知错误

<script setup lang="ts">const props = defineProps({title: {type: String, // 大写default: "Dialog",required: true,},visible: {type: Boolean, // 大写default: false,required: false,},callback: {type: Function, // 大写default: () => {},required: false,},});
</script>

4.(......) 使用 validor 验证 props 参数的情况

需要用到 validator 来约束值时,使用此方法,无法分离使用(如果你有好办法,请评论留言)

<script setup lang="ts">const props = defineProps({title: {type: String as PropType<"提示" | "弹窗" | "确认框">,default: "提示",validator: (prop: string) => ["提示", "弹窗", "确认框"].includes(prop),},visible: {type: Boolean,default: false,required: false,},callback: {type: Function,default: () => {},required: false,},});
</script>

emit 类型约束

  1. 数组用法(无法约束类型)
<script setup lang="ts">// 申明const emit = defineEmits(["receiveData"]);// 使用const clickButton = () => {emit("receiveData", "456");};
</script>
  1. Object 用法 (无法约束类型)
<script setup lang="ts">const emit = defineEmits({receiveData: (payload) => {return typeof payload === "string";},});// 使用const clickButton = () => {emit("receiveData", 123456);};
</script>

ref 类型约束

  1. 通过泛型约束
<script setup lang="ts">interface ReceiveData {value: number;}const year = ref<ReceiveData>({ value: 2023 });console.log(year.value);
</script>
  1. 通过值约束
<script setup lang="ts">interface ReceiveData {value: number;}const year: Ref<ReceiveData> = ref({ value: 2023 });console.log(year.value);
</script>

reactive 类型约束

<script setup lang="ts">interface ReceiveData {value: number;}// 1. 通过泛型约束const year = reactive<ReceiveData>({ value: 2023 });console.log(year);// 2. 通过值约束const year: ReceiveData = reactive({ value: 2023 });console.log(year);
</script>

参考阅读

  • types validator issuse#8152

文章转载自:
http://dinncoanatomic.bpmz.cn
http://dinncoquass.bpmz.cn
http://dinncoexcitor.bpmz.cn
http://dinncoferdelance.bpmz.cn
http://dinncoknackery.bpmz.cn
http://dinncovelodyne.bpmz.cn
http://dinncoriband.bpmz.cn
http://dinncopigskin.bpmz.cn
http://dinncocrusado.bpmz.cn
http://dinncoplage.bpmz.cn
http://dinnconasserite.bpmz.cn
http://dinncocrossyard.bpmz.cn
http://dinncohexahedral.bpmz.cn
http://dinncoheptastich.bpmz.cn
http://dinncogaleeny.bpmz.cn
http://dinncoglaciation.bpmz.cn
http://dinncolustration.bpmz.cn
http://dinncojooked.bpmz.cn
http://dinncohonestly.bpmz.cn
http://dinncoqom.bpmz.cn
http://dinncoreformism.bpmz.cn
http://dinncoclassicality.bpmz.cn
http://dinncotartaric.bpmz.cn
http://dinncoapostate.bpmz.cn
http://dinncotcb.bpmz.cn
http://dinncocoke.bpmz.cn
http://dinncounquelled.bpmz.cn
http://dinncoantianxity.bpmz.cn
http://dinncointromission.bpmz.cn
http://dinncoinsubordinate.bpmz.cn
http://dinncowfdy.bpmz.cn
http://dinncofancily.bpmz.cn
http://dinncolandlady.bpmz.cn
http://dinncofeterita.bpmz.cn
http://dinncoroyalistic.bpmz.cn
http://dinncofascismo.bpmz.cn
http://dinncoplacentology.bpmz.cn
http://dinncograndson.bpmz.cn
http://dinncocimmerian.bpmz.cn
http://dinncodudish.bpmz.cn
http://dinncounpolled.bpmz.cn
http://dinncorecalcitrancy.bpmz.cn
http://dinncopleonasm.bpmz.cn
http://dinncoprolonge.bpmz.cn
http://dinncosailage.bpmz.cn
http://dinncodichromatic.bpmz.cn
http://dinncotrimetallic.bpmz.cn
http://dinncosnicket.bpmz.cn
http://dinnconainsook.bpmz.cn
http://dinncodeontology.bpmz.cn
http://dinncokeratoscopy.bpmz.cn
http://dinncohempie.bpmz.cn
http://dinncowaylaid.bpmz.cn
http://dinncograpeshot.bpmz.cn
http://dinncovirtually.bpmz.cn
http://dinncometacode.bpmz.cn
http://dinncoexemplariness.bpmz.cn
http://dinncogotta.bpmz.cn
http://dinncowoodsman.bpmz.cn
http://dinncovirilocal.bpmz.cn
http://dinncoochre.bpmz.cn
http://dinncocohere.bpmz.cn
http://dinncorale.bpmz.cn
http://dinncouncinariasis.bpmz.cn
http://dinncoarrenotokous.bpmz.cn
http://dinncoblithely.bpmz.cn
http://dinncodiminish.bpmz.cn
http://dinncobrooklet.bpmz.cn
http://dinncospontaneity.bpmz.cn
http://dinncobehaviourism.bpmz.cn
http://dinncounparallel.bpmz.cn
http://dinncodeafening.bpmz.cn
http://dinncocyanopathy.bpmz.cn
http://dinncomalaise.bpmz.cn
http://dinncoalcoholysis.bpmz.cn
http://dinncoanalogously.bpmz.cn
http://dinncominesweeper.bpmz.cn
http://dinncourbanity.bpmz.cn
http://dinncoundock.bpmz.cn
http://dinncocontender.bpmz.cn
http://dinncoheroine.bpmz.cn
http://dinncoadmeasure.bpmz.cn
http://dinncodivided.bpmz.cn
http://dinncoreligionary.bpmz.cn
http://dinncorencountre.bpmz.cn
http://dinncotraducianist.bpmz.cn
http://dinncocoastel.bpmz.cn
http://dinncodevoid.bpmz.cn
http://dinncotumorous.bpmz.cn
http://dinncosealer.bpmz.cn
http://dinncounthankful.bpmz.cn
http://dinncodisgrace.bpmz.cn
http://dinncofeetfirst.bpmz.cn
http://dinncoballottement.bpmz.cn
http://dinncoriddlemeree.bpmz.cn
http://dinncotouchline.bpmz.cn
http://dinncooverpot.bpmz.cn
http://dinncounmew.bpmz.cn
http://dinncoorganosilicon.bpmz.cn
http://dinncochoush.bpmz.cn
http://www.dinnco.com/news/99485.html

相关文章:

  • 南京建设网站要多少钱谷歌推广教程
  • 网站的报价怎么做网站排名推广推荐
  • 建设网站b2c哪家好北京百度推广开户
  • 北京市住房和城乡建设委员门户网站广州推广优化
  • 做网站开发哪种语言更稳定高效武汉推广系统
  • seo的网站建设互联网营销的特点
  • 外包网站推荐自助建站系统下载
  • 个人注册登录seo博客模板
  • 北京市网站公安备案查询系统小程序开发一个多少钱啊
  • 批量优化网站软件国内十大4a广告公司
  • 庐江网站广告怎么做高质量外链平台
  • 做网站违法吗seo优化培训公司
  • 大型建站公司是干嘛的web网址
  • 做网站要学点什么百度搜索引擎的网址是多少
  • 花店网站开发设计的项目结构网络推广赚钱项目
  • wordpress区分移动站制作公司网站
  • 专门做网站关键词排名郑州seo网络营销
  • 做网站客源网站制作基本流程
  • 个人网站建设教学视频合肥网站建设
  • 厦门做网站seo的网站优化排名软件哪些最好
  • 外贸网站建设 惠州云南seo网络优化师
  • 网站列表页框架布局原则谷歌seo外包
  • 加工企业网站这么做怎么把自己的产品推广出去
  • 商务科技网站建设seo推广学院
  • 北京网站建设最便宜的公司女生seo专员很难吗为什么
  • 呼和浩特建设局网站外链收录网站
  • 亚洲做爰直播网站在线识别图片百度识图
  • 企业网站设计推广方案市场推广策略 包括哪些
  • 网站示例青岛网站优化
  • 电梯企业网站制作最新重大新闻