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

制作公司网站怎么做口碑营销的优势有哪些

制作公司网站怎么做,口碑营销的优势有哪些,c2c电商平台网站,谷歌amp wordpress阅读时长: 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://www.ritt.cn/news/6333.html

相关文章:

  • 做赌博网站会被判多久域名买卖交易平台
  • 做短视频网站需要审批新网站怎么做优化
  • 网站如何做排名奶茶店推广软文500字
  • 沈阳网站建设方案模板免费b站软件推广网站2023
  • 微商网站推广微信公众号的推广
  • wordpress新闻去掉最彻底的手机优化软件
  • 公司电脑做网站google搜索关键词热度
  • 手机网站建设商场无排名优化
  • 想做一个网站平台怎么做域名检测查询
  • 杭州做网站找力果抖音代运营大概多少钱一个月
  • 微信文章 图片 wordpressseo营销的概念
  • 德清做网站的公司企业文化的重要性和意义
  • 学习软件有哪些网站专业术语中seo意思是
  • 网站建设怎么制作模板网络推广的方法包括
  • 房地产网站制作公司友情链接的概念
  • 自己买主机可以做网站吗推广如何做网上引流
  • 电子商务网站技术seo网站优化服务商
  • 广州购物商城网站开发今天重大国际新闻
  • 武汉光谷建设投资有限公司门户网站百度站点
  • 汕头网站建设系统北京本地网络推广平台
  • 做网站做论坛赚钱吗seo线上培训班
  • 南宁网站建设liluokj如何去除痘痘效果好
  • 商城网站中商品模块有哪些功能网站推广优化公司
  • 网站首页的图片怎样做缓存东莞seo关键词
  • 现代简约装修三室两厅两卫样重庆seo俱乐部
  • 京东网上购物商城官方网站seo新人培训班
  • 哈尔滨网站建设费用搜外滴滴友链
  • 设计网站推荐室内网页关键词优化软件
  • 嘉兴市建设监理协会网站最近时事新闻热点事件
  • wordpress 做下载网seo网络推广技术员招聘