vue框架中props的typescript用法詳解
阿新 • • 發佈:2020-02-19
什麼是typescript
typescript 為 javaScript的超集,這意味著它支援所有都JavaScript都語法。它很像JavaScript都強型別版本,除此之外,它還有一些擴充套件的語法,如interface/module等。
typescript 在編譯期會去掉型別和特有語法,生成純粹的JavaScript。
Typescript 5年內的熱度隨時間變化的趨勢,整體呈現一個上升的趨勢。也說明ts越來越️受大家的關注了。
在vue中使用typescript時,需要引入vue-property-decorator
庫來相容格式。
javascript寫法
Vue.component('blog-post',{ // 在 JavaScript 中是 camelCase 的 props: ['postTitle'],template: '<h3>{{ postTitle }}</h3>' })
typescript寫法
@Prop({ type: Array,default: function(): Array<LabelData> { return []; } }) label_list: Array<LabelData> | undefined;
typescript和javascript在用法的區別,主要是需要嚴格規定label_list的型別。
但是,在vue裡面,prop是不能賦初始值的。這個規則和typescript會發生矛盾,因此定義型別需要加undefined,避免typescript轉義告警。
在程式碼中使用label_list時,需要用label_list as Array的語法,轉換成正常的陣列格式
參考連結
vue props
vue-property-decorator
總結
以上所述是小編給大家介紹的vue框架中props的typescript用法詳解,希望對大家有所幫助!