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

广西网站建设智能优化百度空间登录入口

广西网站建设智能优化,百度空间登录入口,seo短视频网页入口引流方案,10元备案域名购买ts类型 TS类型除了原始js类型之外#xff0c;还增加类型#xff0c;例如#xff1a;枚举、接口、泛型、字面量、自定义、类型断言、any、类型声明文件 数组类型两种写法#xff1a;类型 [] 或 Array 类型 let arr:number[][1,2,3,4] let arr:string[][a] let arr…ts类型 TS类型除了原始js类型之外还增加类型例如枚举、接口、泛型、字面量、自定义、类型断言、any、类型声明文件 数组类型两种写法类型 [] 或 Array 类型 let arr:number[][1,2,3,4] let arr:string[][a] let arr:Array string[a] 需求如果想要类型和长度都限定 1、元组类型 方法元组-数组的类型和长度都限定,并且可以让元素有不同的类型 //语法 let arr:[number,number][1,3] let arr:[number,string][1,3] 2、联合类型 数组存放数字或字符串-联合类型 let arr4:(number | string)[][1,2,3] 定时器为number类型 let timer:number | nullnull ​ timersetTimeout((){},1000) arr6类型是数字或字符串数组 let arr6:number | string[][j] 3、类型别名 type类型别名具体类型 类型别名起名用大驼峰 type CustomType(number | string)[] let arr7:CustomType[1,2] 4、函数类型 分别指定参数和返回值的类型 普通函数 function getSum(anumber,b:number):number{ return ab } 函数表达式 const getSumfunction(a:number,b:number):number{return ab } 箭头函数 const getSum(a:number,b:number):number{return ab } 同时指定 (参数类型)返回值类型 const getSum:(a:number,b:number)number(x,y){ return xy } 或 type Fn(a:number,b:number)number const getSum:Fn(a,b){return ab } 如果函数不需要返回值. :void可省略如果写:undefined必须写return undefined const fn():void{ console.log(hhhhh) } 可选参数就是参数可传可不传---必须写到后面 const fn2(b:number,num?:number){ } fn2(10)//10给b 函数上用接口----泛型函数 function getSnumT(sno:T){} const snogetSnumnumber(1001)//约束数字型 5.对象类型 描述对象的属性和方法类型、 let obj:{}{a:1}//空对象 let obj2:{a:10}{a:10}//值为固定的、 ​ let person:{name:string,age:number}{name:zs,age:20} //相当于 let person2:{name:stringage?:number//可选 } {name:zs,age:20} ​ ​ 6、接口 interface描述对象类型 interface 可以继承--目的实现复用 interface Person{eat():voidsleep():void } interface Student{name:stringage:numberstudy:()void } let s1.Student{name:list,age:20,study(){},eat(){},sleep(){}}type   类型别名 type Student{name:stringage:numberstudy:()void } 实现复用 type Student{name:stringage:numberstudy:()void } Person let s1.Student{name:list,age:20,study(){}} ​ interface和type区别 很多时候。可以自由切换 interface支持对象类型可以继承 type可以支持任何类型通过交叉类型()实现复用 type不能重复定义interface可以重复定义会合并 用泛型 interface DataT{name:stringage:numberavator:stringaddress:T } interface User:{ province:string city:string } interface Manger{company:string } //用泛型简洁 let zs:DataUser{ name:zs age:90 avator: address:{province:安徽,city:黄山} } ​ let list:DataManager{name:zsage:90avator:address:{company:PDD } } } 在接口上用泛型不同点: 接口上interface 不需要等于号 7、类型推断 没有指定类型ts会导出其类型 类型注解能省略就省略 变量初始化 let score100 //函数返回值会推断类型 const myFn(a:number,b:number){ } 8、字面量 const a1const a:11 //字面量配合联合类型表示一组可选值 let degree:专科 | 本科 | 研究生本科 ​ 9、ang(不推荐使用) 作用逃避ts没有类型 不受类型的约束 隐式 定义没有初始值 函数形参就是any 10、类型断言 查找dom元素 ts把alink的类型推断为HTMLElement(普通的标签类型)---前面必须是锚点连接 const linkdocument.getElementById(link) as HTMLElement console.log(alink.href) 11、泛型 type User{name:stringage:numberavator:stringaddress:{city:string} }和 type Mange{name:stringage:numberavator:stringaddress:{company:string} } //以上两个多的话不好复用所以 type DataT{name:stringage:numberavator:stringaddress:T } 更简洁 type User{city:string } type User{city:string } //用泛型更简洁 type DataT{name:stringage:numberavator:stringaddress:T } type UserDataDataUser type MangerDataDataManger ​ let zs:UserData{name:zsage:90avator:address:{province:安徽,city黄山} } 12、ts与vue结合 在vi中有安装的方式 第一步安装项目 npm create vitelatest 名称 -- --template vue-ts 安装依赖 npm i 进入项目把components和App.vue都删除 main.js保留 import { createApp } from vue // import ./style.css import App from ./App.vue ​ createApp(App).mount(#app) ​ 要把vetur禁用要不然出报错不过不影响 13、父传子 父亲App.vue templatedivhello-world msghi/hello-world/div /template ​ script setup langtsimport HelloWorld from ./components/HelloWorld.vue; /script style /style 儿子src/components/HelloWorld.vue templatediv子组件p{{ msg }}/p/div /template ​ script setup langts //平常写法 defineProps({msg:String }) //用ts写的方法 script setup langtsdefineProps{msg:stringnum?:number//加上是可选的,如果不加会错}() //页面上出现hi //默认值平常写法defineProps({msg:{type:String,default:hello},//设为默认如果有值就传没有就不传num:Number}) //页面上出现hello //默认值ts写法withDefaults(defineProps{msg:stringnum?:number}(),{num:100}) 页面上是100 /script ​ style ​ /style 14、子传父 父亲App.vue templatedivhello-world :msgmsg changechange/hello-world/div /template ​ script setup langts import {ref} from vueimport HelloWorld from ./components/HelloWorld.vue;const msgref(hi)const change(v:string){msg.valuev} /script ​ style ​ /style 儿子src/components/HelloWorld.vue templatediv子组件p{{ msg }}/p ​button clickchanger修改/button/div /template ​ script setup langtswithDefaults(defineProps{msg:stringnum?:number}(),{num:100})//e约束自定义事件名称msg参数const emitdefineEmits{//冒号前面拘束emit参数类型冒号后面约束emit返回值类型(e:change,msg:string):void }()const changer(){emit(change,son)} /script ​ style ​ /style 点击按钮会把儿子传父亲 ref会根据数据自动推断类型 1、假如是简单类型、利用类型推导 const msgref(hi) 2、假如是引用数据类型、利用类型 type Todo{ ​ id:number ​ name:string ​ donge:boolean ​ } ​ const taskrefTodo[]([]) ​ task.value[{id:1,name:coding}] ​ ​ reactive的TS写法 1、默认值属性固定可以使用类型推导 const book reactive({title:ts从入门到放弃price59}) 2、类型推导的类型不符合需求手动给变量或常量指定类型 type Book{ ​title:string ​ price?:number ​ } ​ const book:Bookreactive({ttile:5555,price:999}) ​ console.log(book) 计算属性的ts怎么写--可以用类型推断或者泛型 ​ //类型推导 const upperMsgcomputed((){ return msg.value.toUpperCase() }) //用泛型 const upperMsgcomputedstring((){ return msg.value.toUpperCase() }) 事件处理的ts 函数参数e默认推断ang类型 const handClick(e:Event){const elee.target as HTMLButtonElementele.disabled } ref 获取dom元素 templateinput typetext refiptRef /template const iptRefrefHTMLInputElement | null(null)s onMounted((){//用生命周期挂载//类型守卫// 第一种if(iptRef.value){iptRef.value.focus()}// 第二种iptRef.value?.focus()// 第三种iptRef.value iptRef.value.focus()//非空断言iptRef.value!.focus() })
http://www.dnsts.com.cn/news/255889.html

相关文章:

  • 建什么网站 做 cpa找别人做网站一定注意什么
  • 建立com网站网站流量统计实现
  • 住房和城市建设部网站用淘宝做公司网站
  • 国外服务器做网站不能访问dw网站开发教程
  • 图片手机网站建设html欧美网站模板
  • 针织衫技术支持东莞网站建设凡科建站手机网站建设
  • 推荐佛山顺德网站建设竭诚网络网站建设
  • 制作公司网站设计要求企业vi设计调研
  • 哈尔滨模版建站公司推荐重庆电子工程职业学院教育网
  • 建工网校建筑工程网郑州企业网站优化服务哪家好
  • 网站建设 响应式 北京设计工作室的经营范围
  • 企业集团网站网站建设方案南通做网站的公司
  • php网站开发专业介绍欢迎访问中国建设银行网站个人客户
  • 做游戏网站要通过什么审核做网站会什么
  • 2018年的网站制作嘉兴网站开发与制作
  • 克隆网站带后台网站开发需要做什么工作
  • .net cms网站管理系统网站建设 重庆
  • 网站分析内容建筑公司资质等级
  • 网站备案时间要多久网站建设是前端吗
  • 莒县网站建设外贸网站源码怎么建
  • 快速开发网站的应用程序石家庄关键词排名工具
  • 都是做面食网站域名备案查询系统工信部
  • 济宁网站运营策略网站开发 自定义首页显示
  • 第18讲:商品模型 织梦网站系统 dedecms 教学课件苏州网站建设方案外包
  • 网站风险解除手机网站生成
  • 移动积分兑换商城官方网站南山住房和建设局网站官网
  • 标书制作公司网站北京建设信源咨询有限公司网站
  • 建行网站登录不了太原网站域名开发
  • 上海网站搭建公司哪家好如何看到网站的建设时间
  • 专业网站开发设计可画人物插画设计