第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何解決這個循環(huán)依賴問題?

如何解決這個循環(huán)依賴問題?

梵蒂岡之花 2021-07-06 17:08:15
我有三個類:用戶、帳戶和模型。用戶和帳戶正在擴展模型類。用戶.js:import Model from '@/classes/Model'export default class User extends Model {  constructor(data) {    super(data)  }}帳戶.js :import Model from '@/classes/Model'export default class Account extends Model {  constructor(data) {    super(data)  }}和 Model.js :import Account from '@/classes/Account'import User from '@/classes/User'export default class Model {  static _classesMapping = {    Account,    User  }  constructor(data) {    ...  }  static create(models) {    return new Model._classesMapping[this.name](models)  }}我想從模型中的靜態(tài)方法 create 創(chuàng)建 Account 和 User 實例,如下所示:Account.create()但是,由于循環(huán)依賴問題,我在編譯時收到此錯誤:“超級表達式必須為空或函數(shù)”。我不知道如何解決這個問題,而不必像這樣將類作為參數(shù)傳遞給 Model.create 方法,我覺得這很丑陋Account.create(data, Account)
查看完整描述

2 回答

?
MM們

TA貢獻1886條經(jīng)驗 獲得超2個贊

我想從靜態(tài)方法中創(chuàng)建Account和User實例在模型中創(chuàng)建,如下所示:Account.create()


好吧,你不需要任何東西_classesMapping。您可以通過 簡單地訪問構(gòu)造函數(shù)this,而無需按其名稱查找它。


// Model.js:

export default class Model {

  constructor(data) {

    …

  }


  static create(models) {

    return new this(models)

  }

}

這通過簡單地刪除依賴來解決您的循環(huán)依賴問題:-)


查看完整回答
反對 回復 2021-07-08
?
www說

TA貢獻1775條經(jīng)驗 獲得超8個贊

我認為解決此問題的最佳方法是將您classesMapping的文件移動到外部文件。

所以你得到

  • 模型.js

    • 用戶.js

    • 賬戶.js

  • 類映射.js

    • 其中進口UserAccount與被Model.js進口


查看完整回答
反對 回復 2021-07-08
  • 2 回答
  • 0 關(guān)注
  • 250 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號