私はstore
という名前のクラスとstore
という名前空間を持っています。 mynamespace.modal.store
クラスからmynamespace.store.makeRequesty
にアクセスしようとすると、TypeScriptはそれを見つけることができません。クラスの代わりに名前空間にアクセスするには?
A.ts
namespace mynamespace.modal {
export class store() {
public constructor() {
store.makeRequest()
}
}
}
B.ts
namespace mynamespace.store {
export function makeRequest() {
// Makes an http request
}
}
Property 'makeRequest' does not exist on type 'typeof store'.
私はmynamespace.store.makeRequest()
のようにそれを呼び出してみましたが、その後、私は次のエラーを取得する:
Property 'store' does not exist on type 'typeof mynamespace'.
私はstore namespace
にアクセスするのにどのような方法がありますが、store class
にはアクセスできませんか?
編集
私は窓に名前空間を取り付けてみました:
interface Window {
mynamespace: mynamespace
}
はしかし、私は次のエラーを取得する:
[ts] Cannot find name 'mynamespace'.
[ts] Property 'mynamespace' of exported interface has or is using private name 'mynamespace'.
まだ上記されているエラーのと同じように動作します –
あなたはまだですか? 'Window'インタフェース拡張を削除してみてください。不要です。また、どのバージョンのTSを使用していますか? –
問題は、名前空間と同じ名前のクラスがあったため、 'name.name'という名前が混乱していたためです。私はクラスを改名し、それは動作します。 –