


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
資TypeScriptvue中的知識(shí)新建一個(gè)基于ts的vue項(xiàng)vuevuecreatevue-選項(xiàng)選擇自定義選Manuallyselect添加ts支持-基于類的組件yTypeScript是JavaScript的超集,它可編譯為純JavaScript,是一種給JavaScript添加特性的語言擴(kuò)展letletname"xx"類型推lettitlestring"開課吧"類型注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帶來的特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:編譯型語言}}//template范例:利用getter設(shè)置計(jì)算getcount()return}class的原class是語法糖,它指向的就是構(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)建對象實(shí)例范例:修改Feature為接口<script<script//interface{id:number;name:}Generics是指在定義函數(shù)、接口或類的時(shí)候,不預(yù)先指定具體的類型,而在使用的時(shí)候再指定類型的一種特////定義泛型interface{ok:0|data:}//定義泛型constdata:any[]=[id1name"類型注解"version"2.0"id2name"編譯型語言"version"1.0"return{ok:1,data}使用泛this.features=返回{constdata:any[]=id1name"類型注解"version"2.0"id2name"編譯型語言"version"1.0"returnPromise.resolve<Result<T>>({ok:1,data}使asyncasynccreated()this.features=resu }裝飾器實(shí)際上是工廠函數(shù),傳入一個(gè)對象,輸出處理后的新對類裝飾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:['類型檢測','預(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ù),通過定義劫持,能夠?qū)︻惣捌浞椒?、屬性提供額外的擴(kuò)展功類裝飾function) ===Foo);//.isFoo= }function ,name) 是原型,name是屬性 ===Ftotype);[name]='mua~~~'}function ,name,descriptor) ===//方法的定義方式:Object.defineProperty( ,name,descriptor) [name]===descriptor.value);//這里通過修改descriptor.value擴(kuò)展了barconstconstbar=descriptor.value;}return}@muaaaa:constructorconsole.log('F}}}實(shí)戰(zhàn)一下Component,新建<scriptimport{Vue}
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年三線城市房屋租賃合同范本參考
- 2025個(gè)人地下車位租賃合同
- 2025工商銀行房貸借款合同
- 甲方預(yù)付貨款合同協(xié)議
- 盈利飯店團(tuán)購合同協(xié)議
- 用刮膩?zhàn)鎏吣_線合同協(xié)議
- 電梯產(chǎn)品買賣合同協(xié)議
- 瓷磚加工建材銷售合同協(xié)議
- 環(huán)境治理施工合同協(xié)議
- 特殊馬達(dá)采購合同協(xié)議
- 2025書畫藝術(shù)品交易合同范本
- 兒童支氣管哮喘診斷與防治指南(2025)解讀
- 2024-2025學(xué)年人教版七年級(下)期中數(shù)學(xué)試卷(考試范圍:第7~9章) (含解析)
- 2025年03月國家金融監(jiān)督管理總局所屬事業(yè)單位公開招聘19人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 安全生產(chǎn)“反三違”學(xué)習(xí)培訓(xùn)
- 網(wǎng)球裁判考試試題及答案
- 能源儲(chǔ)備體系建設(shè)-深度研究
- 2024年中國工商銀行浙江省分行招聘筆試真題
- 國家義務(wù)教育質(zhì)量監(jiān)測八年級美術(shù)樣卷
- 2025年河南輕工職業(yè)學(xué)院單招職業(yè)適應(yīng)性考試題庫及答案1套
- 2025年中考數(shù)學(xué)幾何模型歸納訓(xùn)練:最值模型之將軍飲馬模型解讀與提分訓(xùn)練(解析版)
評論
0/150
提交評論