我有一个名为store
的类和一个名为store
的命名空间。当我尝试从mynamespace.store.makeRequesty
类访问mynamespace.modal.store
时,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
}
}
财产' makeRequest'类型' typeof store'。
上不存在
我尝试将其称为mynamespace.store.makeRequest()
,但后来我收到以下错误:
物业'商店'在mynamespace'的类型'类型中不存在。
我有什么方法可以访问store namespace
而不是store class
?
修改
我尝试将命名空间附加到窗口:
interface Window {
mynamespace: mynamespace
}
但是,我收到以下错误:
[ts]找不到姓名' mynamespace'。
[ts]财产' mynamespace'导出的界面已经或正在使用私人名称' mynamespace'。
答案 0 :(得分:0)
试试这个:
A.ts
namespace mynamespace.modal {
export class store {
public constructor() {
mynamespace.store.makeRequest()
}
}
}
B.ts
namespace mynamespace {
export namespace store {
export function makeRequest() {
// Makes an http request
}
}
}
答案 1 :(得分:0)
使用import
创建别名并避免名称冲突:
namespace mynamespace.store {
export function makeRequest() {
// Makes an http request
}
}
namespace mynamespace.modal {
import makeRequest = mynamespace.store.makeRequest;
export class store {
public constructor() {
makeRequest();
}
}
}