最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue項(xiàng)目使用typescript創(chuàng)建抽象類及其使用方式

 更新時(shí)間:2024年03月04日 09:00:44   作者:左直拳  
這篇文章主要介紹了vue項(xiàng)目使用typescript創(chuàng)建抽象類及其使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

如題,可以在vue項(xiàng)目使用typescript創(chuàng)建抽象類,然后使用這個(gè)抽象類。

通過(guò)TypeScript,可以在前端應(yīng)用抽象類了。

抽象類的好處,可以同時(shí)滿足繼承和多態(tài),好處多多。

以vue3為例:

1、創(chuàng)建抽象類

據(jù)說(shuō)js類中,“#”開頭的變量或方法,就是私有變量或方法(見拙作《vue項(xiàng)目中的類》)。

但是,現(xiàn)在TypeScript有private、protected、public等全套關(guān)鍵詞。

export abstract class ListPage {
  #queryForm //查詢框表單對(duì)象,例如:const queryForm = ref(),<el-form ref="queryForm">
  #myPageSetup //分頁(yè)對(duì)象,例如:const myPageSetup = cloneDeep(pageSetup)

  constructor(queryForm, pageSetup) {
    this.#queryForm = queryForm
    this.#myPageSetup = pageSetup
  }

  //列表數(shù)據(jù)請(qǐng)求。抽象方法,子類必須實(shí)現(xiàn)
  abstract doQuery(): void

  //查詢
  onSearch = () => {
    this.#myPageSetup.pageIndex = 1
    this.doQuery()
  }
  //重置
  onReset = () => {
    this.#queryForm.value.resetFields()
  }
  //跳轉(zhuǎn)至指定頁(yè)碼
  onPageChange = (pageIndex) => {
    this.#myPageSetup.pageIndex = pageIndex
    this.doQuery()
  }
  //改變分頁(yè)大小
  onPageSizeChange = (size) => {
    this.#myPageSetup.pageIndex = 1
    this.#myPageSetup.pageSize = size
    this.doQuery()
  }
  //排序
  onColumnSort = ({ prop, order }) => {
    this.#myPageSetup.order = order
    this.#myPageSetup.sort = prop
    this.doQuery()
  }
}

2、應(yīng)用該抽象類

class MyListPage extends ListPage {
  constructor() {
    super(defaultQueryForm, myPageSetup) // 在派生類的構(gòu)造函數(shù)中必須調(diào)用super()
  }

//實(shí)現(xiàn)抽象方法。async代表異步,基類中的沒(méi)有聲明是否異步,既可以異步,也可以不異步。
  doQuery = async () => {
	//巴拉巴拉巴拉
  }
}
const myListPage = new MyListPage()
myListPage.onSearch()

3、心得

現(xiàn)在前端跟后端越來(lái)越像了。再也不是以前那種相對(duì)簡(jiǎn)單的三劍客了。

本來(lái)吧,js廣受歡迎,一個(gè)原因是它非常靈活,沒(méi)有什么類型的限制,怎么寫都可以。

現(xiàn)在引入了TypeScript,到處聲明類型,神憎鬼厭。有什么好處呢?

難道聲明了強(qiáng)類型后,沒(méi)有類型轉(zhuǎn)換,程序執(zhí)行效率就提高了?

未必吧,瀏覽器好像不直接支持typescript,最終還是要轉(zhuǎn)換成原生js才能執(zhí)行吧。

這么說(shuō)的話,所謂TypeScript也者,也不過(guò)是一種語(yǔ)法糖,讓我們寫代碼時(shí)可以寫這寫那,假裝在面向?qū)ο缶幊潭选?/p>

有沒(méi)有跟我一樣,覺(jué)得這樣反而不方便的?

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue實(shí)現(xiàn)點(diǎn)擊按鈕下載文件的操作代碼(后端Java)

    Vue實(shí)現(xiàn)點(diǎn)擊按鈕下載文件的操作代碼(后端Java)

    最近項(xiàng)目中需要實(shí)現(xiàn)點(diǎn)擊按鈕下載文件的需求,前端用的vue后端使用的java代碼,今天通過(guò)本文給大家分享vue點(diǎn)擊按鈕下載文件的實(shí)現(xiàn)代碼,需要的朋友參考下吧
    2021-08-08
  • vue項(xiàng)目搭建以及全家桶的使用詳細(xì)教程(小結(jié))

    vue項(xiàng)目搭建以及全家桶的使用詳細(xì)教程(小結(jié))

    這篇文章主要介紹了vue項(xiàng)目搭建以及全家桶的使用詳細(xì)教程(小結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • 少女風(fēng)vue組件庫(kù)的制作全過(guò)程

    少女風(fēng)vue組件庫(kù)的制作全過(guò)程

    這篇文章主要給大家介紹了關(guān)于少女風(fēng)vue組件庫(kù)的制作全過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Vue使用axios引起的后臺(tái)session不同操作

    Vue使用axios引起的后臺(tái)session不同操作

    這篇文章主要介紹了Vue使用axios引起的后臺(tái)session不同操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • vue設(shè)置導(dǎo)航欄、側(cè)邊欄為公共頁(yè)面的例子

    vue設(shè)置導(dǎo)航欄、側(cè)邊欄為公共頁(yè)面的例子

    今天小編就為大家分享一篇vue設(shè)置導(dǎo)航欄、側(cè)邊欄為公共頁(yè)面的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • 詳解Vue適時(shí)清理keepalive緩存方案

    詳解Vue適時(shí)清理keepalive緩存方案

    說(shuō)到Vue緩存,我們肯定首先選擇官方提供的緩存方案keep-alive,本文主要介紹了詳解Vue適時(shí)清理keepalive緩存方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 關(guān)于Vue中$refs的探索淺析

    關(guān)于Vue中$refs的探索淺析

    這篇文章主要給大家介紹了關(guān)于Vue中$refs的探索,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • vue+echarts實(shí)現(xiàn)3D柱形圖

    vue+echarts實(shí)現(xiàn)3D柱形圖

    這篇文章主要為大家詳細(xì)介紹了vue+echarts實(shí)現(xiàn)3D柱形圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 解決vue安裝less報(bào)錯(cuò)Failed to compile with 1 errors的問(wèn)題

    解決vue安裝less報(bào)錯(cuò)Failed to compile with 1 errors的問(wèn)題

    這篇文章主要介紹了解決vue安裝less報(bào)錯(cuò)Failed to compile with 1 errors的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • Vue ElementUI之Form表單驗(yàn)證遇到的問(wèn)題

    Vue ElementUI之Form表單驗(yàn)證遇到的問(wèn)題

    這篇文章主要介紹了Vue ElementUI之Form表單驗(yàn)證遇到的問(wèn)題,需要的朋友可以參考下
    2017-08-08

最新評(píng)論

偃师市| 铜梁县| 吉隆县| 抚松县| 八宿县| 彩票| 都兰县| 观塘区| 治多县| 济源市| 宜兰县| 富蕴县| 重庆市| 穆棱市| 博湖县| 松原市| 吉林省| 大姚县| 滨海县| 丽江市| 陆河县| 岳池县| 通渭县| 宁国市| 双桥区| 双桥区| 定安县| 刚察县| 尼勒克县| 清丰县| 夹江县| 桓仁| 洪雅县| 泽库县| 安徽省| 明溪县| 丘北县| 龙泉市| 乐陵市| 南召县| 宜阳县|