


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
資TypeScriptvue中的知識新建一個基于ts的vue項vuevuecreatevue-選項選擇自定義選Manuallyselect添加ts支持-基于類的組件yTypeScript是JavaScript的超集,它可編譯為純JavaScript,是一種給JavaScript添加特性的語言擴展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ù)量或者類型或者返回類型不同// ,在實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中大體相同,這里重點關(guān)注ts帶來的特pprivate_foostring;私有屬性,不能在類的外protectedbarstring;保護屬性,還可以在派生類readonlymua='mua';//只讀屬性必須 時或構(gòu)造函數(shù)里初始////constructor(privatetua={this._foo='foo';this.bar='bar';}privatesomeMethod()//存取器:存取數(shù)據(jù)時可添加額外邏輯;在vuegetfoo(){returnthis._foo}setfoo(val){this._foo=val}}范例:自定義類型約束數(shù)據(jù)結(jié)構(gòu) ///定義一個特性類,擁 屬classFeature}//exportdefault oWorldextends{privatefeatures:{super();id:1name:類型注解id:2name:編譯型語言}}//template范例:利用getter設(shè)置計算getcount()return}class的原class是語法糖,它指向的就是構(gòu)造函constructor(name,age){//constructor是默認(rèn)方法,new實例時自動調(diào)用=name;//屬性會 this.age=}say(){// 在原型return 名字叫"今年this.age"歲了}} );// .prototype.constructor);//{=this.age=}.prototype.say=return 名字叫"++"今年"+this.age+"歲了}interface,僅定義結(jié)構(gòu),不需要{string; o():string;//要求實現(xiàn)方}實現(xiàn)接classGreeter Name='',publiclastName=''){} return o,'+ Name+''+}}//面向接口function { }constuserName:JanelastNameUser'};constusernewGreeter('Jane''User'創(chuàng)建對象實例范例:修改Feature為接口<script<script//interface{id:number;name:}Generics是指在定義函數(shù)、接口或類的時候,不預(yù)先指定具體的類型,而在使用的時候再指定類型的一種特////定義泛型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ù),傳入一個對象,輸出處理后的新對類裝飾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ù),通過定義劫持,能夠?qū)︻惣捌浞椒?、屬性提供額外的擴展功類裝飾function) ===Foo);//.isFoo= }function ,name) 是原型,name是屬性 ===Ftotype);[name]='mua~~~'}function ,name,descriptor) ===//方法的定義方式:Object.defineProperty( ,name,descriptor) [name]===descriptor.value);//這里通過修改descriptor.value擴展了barconstconstbar=descriptor.value;}return}@muaaaa:constructorconsole.log('F}}}實戰(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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商場庫房收費管理制度
- 工地特種設(shè)備管理制度
- 辦公場所安全管理制度
- 公司公文處理管理制度
- 學(xué)校學(xué)生疫情管理制度
- 智能照明系統(tǒng)中的嵌入式應(yīng)用試題及答案
- 家電倉庫安全管理制度
- 公司抖音員工管理制度
- 員工培訓(xùn)財務(wù)管理制度
- 大型公司電費管理制度
- DB37-T 2671-2019 教育機構(gòu)能源消耗定額標(biāo)準(zhǔn)-(高清版)
- 部編版小學(xué)道德與法治三年級下冊期末質(zhì)量檢測試卷【含答案】5套
- 斷親協(xié)議書范本
- 信息系統(tǒng)項目管理師論文8篇
- (完整版)重大危險源清單及辨識表
- 試驗室儀器設(shè)備檢定校準(zhǔn)證書和測試報告確認(rèn)表(公司范本)
- 《傳媒翻譯》教學(xué)大綱
- 新工科的建設(shè)和發(fā)展思考ppt培訓(xùn)課件
- [北京]大型房地產(chǎn)開發(fā)項目成本測算實例及表格(全套)
- 電荷耦合器件(CCD)介紹和工作原理
- JJF(閩) 1101-2020 在線式CCD圖像尺寸測量系統(tǒng)校準(zhǔn)規(guī)范
評論
0/150
提交評論