[英]data type should be anything inside module typescript
是否可以有一個數據類型而不是any
,它是這樣的模塊的一部分:
module SomeModule {
export class One {
// ...
}
export class Two {
// ...
}
// ...
}
我需要這樣的東西:
function bla(myModel: anyThingInsideModule_insteadOfAnyDataType){...}
那可能嗎 ?
不,但是您可以讓他們實現/擴展基本接口/類:
module SomeModule {
export interface Base { }
export class One implements Base { }
export class Two implements Base { }
}
function bla(myModel: SomeModule.Base) { }
要么:
module SomeModule {
export abstract class Base { }
export class One extends Base { }
export class Two extends Base { }
}
您還可以使函數通用:
function bla<T extends SomeModule.Base>(myModel: T) { }
在TypeScript 2.0中,您可以為參數甚至變量指定多種可能的數據類型:
function bla (myModel: One | Two)
然后,您可以使用任何一種類型的參數。
編輯如果SomeModel很大,如下面的注釋中所述(顯然有100多個類,我認為這是不好的設計,但是,我沒有判斷),創建一個abstract
基類可能是最容易的在SomeModel
並從中派生模型中的每個類。
export abstract class MyModelClass { /* Any shared logic here */ }
export class One extends MyModelClass { ... }
export class Two extends MyModelClass { ... }
...
那你可以寫
function bla(myModel: MyModelClass) { ... }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.