真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

在Vue.js中如何使用TypeScript

這篇文章主要為大家展示了在Vue.js中如何使用TypeScript,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶大家一起來研究并學(xué)習(xí)一下“在Vue.js中如何使用TypeScript”這篇文章吧。

創(chuàng)新互聯(lián)長(zhǎng)期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為云巖企業(yè)提供專業(yè)的做網(wǎng)站、成都做網(wǎng)站,云巖網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

vue是什么軟件

Vue是一套用于構(gòu)建用戶界面的漸進(jìn)式JavaScript框架,Vue與其它大型框架的區(qū)別是,使用Vue可以自底向上逐層應(yīng)用,其核心庫只關(guān)注視圖層,方便與第三方庫和項(xiàng)目整合,且使用Vue可以采用單文件組件和Vue生態(tài)系統(tǒng)支持的庫開發(fā)復(fù)雜的單頁應(yīng)用。

雖然 vue2.x 對(duì)TypeScript的支持還不是非常完善,但是從今年即將到來的3.0版本在GitHub上的倉庫 vue-next 看,為TS提供更好的官方支持應(yīng)該也會(huì)是一個(gè)重要特性,那么,在迎接3.0之前,不妨先來看看目前版本二者的搭配食用方法吧~

創(chuàng)建項(xiàng)目

  • 雖然GitHub上有各種各樣相關(guān)的Starter,但是使用 Vue CLI 應(yīng)該是目前相對(duì)比較好的方式,在使用 vue create 創(chuàng)建新項(xiàng)目時(shí),對(duì) preset 選擇 Manually select features 選項(xiàng),之后添加 TypeScript

  • 如果想在vue應(yīng)用中完整使用ES6中提供的類特性,那么在 class-style component syntax 處選擇Y(本文主要介紹選擇Y的情況)

  • 對(duì)于 Babel 來說,一般情況選擇使用,而 linter / formatter 的具體選擇可根據(jù)項(xiàng)目需求,此處不多說明

進(jìn)入項(xiàng)目

創(chuàng)建完成后,看一看 package.json ,可以發(fā)現(xiàn) vue-class-componentvue-property-decorator 以及其他ts相關(guān)的modules都已被添加,其中: vue-class-component 可以讓你使用class-style語法創(chuàng)建組件,比如以下代碼:




 import Vue from 'vue'
 import Component from 'vue-class-component'

 // Define the component in class-style
 @Component
 export default class Counter extends Vue {
 // Class properties will be component data
 count = 0

 // Methods will be component methods
 increment() {
  this.count++
 }

 decrement() {
  this.count--
 }
 }

vue-property-component 則完全依賴于前者,提供了除 @Component 外的其他幾種裝飾器,比如 @Prop

import { Vue, Component, Prop } from 'vue-property-decorator'

 @Component
 export default class YourComponent extends Vue {
 @Prop(Number) readonly propA: number | undefined
 @Prop({ default: 'default value' }) readonly propB!: string
 @Prop([String, Boolean]) readonly propC: string | boolean | undefined
}

再來一個(gè)二者結(jié)合的簡(jiǎn)單例子吧:




import { Component, Prop, Vue, Watch } from 'vue-property-decorator';

@Component
export default class HelloWorld extends Vue {
 @Prop() private msg!: string;
 firstName = "rapt";
 lastName = "azure";

 mounted() {
 console.log('mounted');
 }

 // Computed property
 get fullName(): string {
 return this.firstName + this.lastName;
 }

 // Method
 reverseStr() {
 this.firstName = this.firstName.split('').reverse().join('');
 this.lastName = this.lastName.split('').reverse().join('');
 }

}
  • 此時(shí),你的vue項(xiàng)目已經(jīng)有fully-typed的可能了,當(dāng)然也會(huì)有更好的自動(dòng)補(bǔ)全以及錯(cuò)誤提示。

  • 為了更好的確定類型,可以創(chuàng)建例如 interfaces 這樣的文件夾,充分利用ts的接口和類來使項(xiàng)目有更好的組織結(jié)構(gòu),可讀性和維護(hù)性。

另一種選擇

其實(shí)當(dāng)然也可以不使用class風(fēng)格啦,這樣的話,就和平時(shí)熟悉的vue更為相似了,而對(duì)類型當(dāng)然也是完全支持的。
這里也提供一個(gè)簡(jiǎn)單的例子吧~ import Vue from 'vue'; export default Vue.extend({  name: 'HelloWorld',  props: {   msg: String,  },  data() {   return {    test: "Hello from TS" as string   }  },  methods: {   pressMe(): string {    return this.test + 'br'   }  } });

其他的話

  • 本文只是簡(jiǎn)要探討了在Vue.js中使用TypeScript的可能性,更多的相關(guān)內(nèi)容在 官方文檔 里可以找到哦,或者也可以多去Github的Vue區(qū),TS區(qū)逛逛呢~

  • TypeScript的出現(xiàn)為JavaScript的生態(tài)帶來了新活力,不管是前端三大框架Vue,React,Angular,還是Node系的后端框架比如Nest和Express,都在積極擁抱TS,希望以后整個(gè)生態(tài)會(huì)發(fā)展得越來越好吧~

以上就是關(guān)于“在Vue.js中如何使用TypeScript”的內(nèi)容,如果改文章對(duì)你有所幫助并覺得寫得不錯(cuò),勞請(qǐng)分享給你的好友一起學(xué)習(xí)新知識(shí),若想了解更多相關(guān)知識(shí)內(nèi)容,請(qǐng)多多關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)頁標(biāo)題:在Vue.js中如何使用TypeScript
標(biāo)題網(wǎng)址:http://weahome.cn/article/ggjjjg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部