版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
資TypeScriptvue中的知識(shí)新建一個(gè)基于ts的vue項(xiàng)vuevuecreatevue-選項(xiàng)選擇自定義選Manuallyselect添加ts支持-基于類的組件yTypeScript是JavaScript的超集,它可編譯為純JavaScript,是一種給JavaScript添加特性的語(yǔ)言擴(kuò)展letletname"xx"類型推lettitlestring"開(kāi)課吧"類型注name2;title4;letnames:names=['Tom'];//或letfoo:any='xx'foo=3//anyletlist:any[]=[1,true,"free"];list[1]=100;//function{returno,':string):;}functionwarnUser():void{alert("Thisismywarningmessage");內(nèi)置的類void函數(shù)不返回any任意類范例 <scriptimport{Component,Prop,Vue}from"vue-property-exportdefaultoextends{@Prop()msg!:string;features:string[];constructor(){}}////此處name和age////functiono(name:string,age:number=20,addr?:string):return你好:name}//參數(shù)數(shù)量或者類型或者返回類型不同// ,在實(shí)functioninfo(a:{name:string}):string;functioninfo(a:string):object;functioninfo(a:{name:string}|string):{if(typeofa==="object"){return;}elsereturn{name:a}}console.log(info({name:"tom"范例:新增特性 <input<inputtype="text"placeholder="輸入新特性"http://生命周期普通方privateaddFeature(event:{console.log(event); .value='';}類ts中的類和es6中大體相同,這里重點(diǎn)關(guān)注ts帶來(lái)的特pprivate_foostring;私有屬性,不能在類的外protectedbarstring;保護(hù)屬性,還可以在派生類readonlymua='mua';//只讀屬性必須 時(shí)或構(gòu)造函數(shù)里初始////constructor(privatetua={this._foo='foo';this.bar='bar';}privatesomeMethod()//存取器:存取數(shù)據(jù)時(shí)可添加額外邏輯;在vuegetfoo(){returnthis._foo}setfoo(val){this._foo=val}}范例:自定義類型約束數(shù)據(jù)結(jié)構(gòu) ///定義一個(gè)特性類,擁 屬classFeature}//exportdefault oWorldextends{privatefeatures:{super();id:1name:類型注解id:2name:編譯型語(yǔ)言}}//template范例:利用getter設(shè)置計(jì)算getcount()return}class的原class是語(yǔ)法糖,它指向的就是構(gòu)造函constructor(name,age){//constructor是默認(rèn)方法,new實(shí)例時(shí)自動(dòng)調(diào)用=name;//屬性會(huì) this.age=}say(){// 在原型return 名字叫"今年this.age"歲了}} );// .prototype.constructor);//{=this.age=}.prototype.say=return 名字叫"++"今年"+this.age+"歲了}interface,僅定義結(jié)構(gòu),不需要{string; o():string;//要求實(shí)現(xiàn)方}實(shí)現(xiàn)接classGreeter Name='',publiclastName=''){} return o,'+ Name+''+}}//面向接口function { }constuserName:JanelastNameUser'};constusernewGreeter('Jane''User'創(chuàng)建對(duì)象實(shí)例范例:修改Feature為接口<script<script//interface{id:number;name:}Generics是指在定義函數(shù)、接口或類的時(shí)候,不預(yù)先指定具體的類型,而在使用的時(shí)候再指定類型的一種特////定義泛型interface{ok:0|data:}//定義泛型constdata:any[]=[id1name"類型注解"version"2.0"id2name"編譯型語(yǔ)言"version"1.0"return{ok:1,data}使用泛this.features=返回{constdata:any[]=id1name"類型注解"version"2.0"id2name"編譯型語(yǔ)言"version"1.0"returnPromise.resolve<Result<T>>({ok:1,data}使asyncasynccreated()this.features=resu }裝飾器實(shí)際上是工廠函數(shù),傳入一個(gè)對(duì)象,輸出處理后的新對(duì)類裝飾exportdefaultoextendsVue@Prop({required:true,type:String})privatemsg!:@Watch("features",{deep:true})console.log(val,}privateaddFeature(event:{constfeature=name:event. version:"1.0" return}}vuex使用:vuex-安npmnpmivuex-class-定義狀exportexportdefaultnewstate:features:['類型檢測(cè)','預(yù)編譯mutations:addFeatureMutation(state:any,string){state.features.push({id:state.features.length+1,name:}actions:commitcommit('addFeatureMutation',}}使用 importimport{State,Action,Mutation}from"vuex-exportdefaultclassFeatureextendsVue//@Statefeatures!:string[];@ActionaddFeatureAction;private{//this.features.push(event. //this.addFeaturMutation(event. .value="";}}裝飾器原裝飾器實(shí)際上是一個(gè)函數(shù),通過(guò)定義劫持,能夠?qū)︻惣捌浞椒?、屬性提供額外的擴(kuò)展功類裝飾function) ===Foo);//.isFoo= }function ,name) 是原型,name是屬性 ===Ftotype);[name]='mua~~~'}function ,name,descriptor) ===//方法的定義方式:Object.defineProperty( ,name,descriptor) [name]===descriptor.value);//這里通過(guò)修改descriptor.value擴(kuò)展了barconstconstbar=descriptor.value;}return}@muaaaa:constructorconsole.log('F}}}實(shí)戰(zhàn)一下Component,新建<scriptimport{Vue}
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 制造業(yè)務(wù)員工作總結(jié)
- 酒店管理崗位考核
- 美容行業(yè)前臺(tái)接待工作總結(jié)
- 教師團(tuán)隊(duì)專業(yè)培訓(xùn)
- 廚具行業(yè)采購(gòu)工作總結(jié)
- 2024年設(shè)備監(jiān)理師考試題庫(kù)帶答案
- 2024年熱的傳遞教案設(shè)計(jì)
- 創(chuàng)意市集活動(dòng)贊助合同(2篇)
- DB33T 2111-2018 福利彩票視頻型彩票銷售管理規(guī)范
- 安徽省阜陽(yáng)市阜南縣2025屆中考三模生物試題含解析
- 新產(chǎn)品試制流程管理辦法
- 王牌電話交換機(jī)說(shuō)明書(shū)
- 列管式換熱器-換熱面積計(jì)算
- 10個(gè)地基基礎(chǔ)工程質(zhì)量通病及防治措施
- 25m預(yù)應(yīng)力混凝土簡(jiǎn)支T梁橋設(shè)計(jì)(共30頁(yè))
- 籃球校本課程教案
- 高一學(xué)生文理分班意向表
- 高等傳熱學(xué)部分答案
- 地球物理學(xué)進(jìn)展投稿須知
- 機(jī)床精度檢驗(yàn)標(biāo)準(zhǔn) VDI3441 a ISO230-2
- 解析電力施工項(xiàng)目的信息化管理
評(píng)論
0/150
提交評(píng)論