


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(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)建對(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"編譯型語言"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è)對(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:['類型檢測','預(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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文娛體育活動(dòng)策劃方案
- 新生聯(lián)誼活動(dòng)策劃方案
- 春天幼兒種花活動(dòng)方案
- 春分農(nóng)耕活動(dòng)方案
- 旅游漂流活動(dòng)策劃方案
- 新店開業(yè)市場活動(dòng)方案
- 春季民俗活動(dòng)方案
- 新春美術(shù)活動(dòng)方案
- 整車交付活動(dòng)方案
- 春節(jié)推廣活動(dòng)方案
- 人教版(2023版)初中語文九年級(jí)上冊(cè)全冊(cè)同步練習(xí)+單元綜合訓(xùn)練+專項(xiàng)訓(xùn)練+期中期未測試合集(含答案)【可編輯可打印】
- 電磁兼容中抗擾度試驗(yàn)教學(xué)課件
- 中國郵政儲(chǔ)蓄銀行理財(cái)考試真題模擬匯編(共719題)
- 醫(yī)務(wù)科崗前培訓(xùn)
- 市政雨污水管道清污清淤工程地下有限空間作業(yè)專項(xiàng)方案2020年10月10
- GB/T 8685-2008紡織品維護(hù)標(biāo)簽規(guī)范符號(hào)法
- 醫(yī)療器械行業(yè)市場部人員崗位職責(zé)
- 旅行社導(dǎo)游帶團(tuán)操作流程
- 部編版小學(xué)道德與法治三年級(jí)下冊(cè)期末質(zhì)量檢測試卷【含答案】5套
- 怎樣當(dāng)好一名師長
- DB21T 3354-2020 遼寧省綠色建筑設(shè)計(jì)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論