亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue基于TypeScript的一次錯誤使用分析

發布時間:2021-11-09 19:13:04 來源:億速云 閱讀:114 作者:柒染 欄目:大數據

這篇文章給大家介紹Vue基于TypeScript的一次錯誤使用分析,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

概述

在使用Vue基于TypeScript開發項目時,使用Element UI的Table來做列表數據的渲染。
在實際的數據中,有一列數據存儲的是字典的 code ,這種設計對于后端的模型設計來說是沒有問題的,我們的數據持久化只需要關注 code 就可以了。
但是前端顯示的過程中,只顯示 code 值,對用戶來說是不友好的。對于用戶來講,他們需要的是可讀的數據,即 code 對應的中文描述。


 

思路

這種問題通常會有兩種解決方案:

  • 后端處理:返回數據集時提前處理     code 值,將其轉換成對應的中文描述
  • 前端處理:在渲染表格的過程中,實時的將     code 值轉換為對應的中文描述


在本次示例中,我們采用前端處理的方式。

思路

需要處理的列用的是字典值,先從后端將字典數據獲取過來,在渲染數據的時候,直接使用預加載的字典內容對數據進行轉換。


 

錯誤的方案

@Component
export default class DictManage extends Vue {
  modules = [];

 constructor() {
   super();
    this.$store.dispatch('dict/fetchModules').then(res => {
      console.log(res);
      this.modules = res;
    }).catch(err => console.error(err));
 }
 
 public covertModule(code): string {
   const module = this.modules.find(it => it.code === code);
   return module ? module.name : code;
 }
}
 

_在構造函數中將數據加載進來,可以看到控制臺有打印字典內容。但是在 __covertModul_e 中獲取的 modules 卻讀不到值。


 

正確的方案

對上面的內容進行了改造,如下:

@Component
export default class DictManage extends Vue {
 modules: any[] = [];

 created() {
   this.$store
     .dispatch('dict/fetchModules')
     .then(res => {
       this.modules = [...res];
     })
     .catch(err => console.error(err));
 }

 public covertModule(code): string {
   const module = this.modules.find(it => it.code === code);
   return module ? module.name : code;
 }
}
 

將預加載的處理遷移到 created() 里面, 此時 covertModule 中可以正常的獲取 modules 值,表格渲染正常。


 

分析

在TypeScript下開發的Vue組件,屬性變量modules對應著js下的 data() 中的modules,所以在構造函數中對modules進行賦值處理時,modules還沒有創建。在covertModule中使用的modules是后來創建的實例,與構造函數中的不是同一個,所以獲取到的一直是空。

關于Vue基于TypeScript的一次錯誤使用分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蒲江县| 莆田市| 铁力市| 竹北市| 金秀| 昌宁县| 阿合奇县| 延长县| 云龙县| 焦作市| 多伦县| 辉县市| 土默特右旗| 安福县| 叶城县| 凤阳县| 洛隆县| 米泉市| 阜新| 五原县| 常山县| 宜宾县| 曲麻莱县| 伊通| 旅游| 汉中市| 金沙县| 银川市| 绥德县| 盐津县| 长垣县| 侯马市| 和硕县| 项城市| 龙江县| 鄯善县| 湖南省| 馆陶县| 五华县| 抚宁县| 宁德市|