Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将接口导出到全局命名空间-angular_Javascript_Angular_Typescript - Fatal编程技术网

Javascript 如何将接口导出到全局命名空间-angular

Javascript 如何将接口导出到全局命名空间-angular,javascript,angular,typescript,Javascript,Angular,Typescript,我有一个定义了接口的文件,我想与我的应用程序的全局命名空间共享。我的第一次尝试是将interfaces.ts文件导入我的app.module.ts,并将接口放入exports数组中,但类型/接口不能以这种方式使用,因此我想到了一些与这个小问题相关的问题 导出到全局名称空间时是否需要涉及app.module.ts 是否有不同的方法(可能是本地javascript方法) 如果执行此操作需要app.module.ts,我如何导入接口,使我的app.module.ts与我的应用程序的其余部分共享接口,这

我有一个定义了接口的文件,我想与我的应用程序的全局命名空间共享。我的第一次尝试是将
interfaces.ts
文件导入我的
app.module.ts
,并将接口放入
exports
数组中,但类型/接口不能以这种方式使用,因此我想到了一些与这个小问题相关的问题

导出到全局名称空间时是否需要涉及
app.module.ts

是否有不同的方法(可能是本地javascript方法)


如果执行此操作需要
app.module.ts
,我如何导入接口,使我的
app.module.ts
与我的应用程序的其余部分共享接口,这样我就不必在我的组件中不断地导入它了?

在此处签出全局名称空间:

但要注意:

由于可能存在运行时冲突,这种模式有些危险,但我们仍然可以为其编写声明文件


根据Angular官方的说法,最好有一个
SharedModules
,用于在整个应用程序中多个位置使用的everting。在这个
SharedModule
中,您可以为所有常见的东西提供不同的目录应用程序结构,例如
模型
服务
拦截器
管道
组件
等等

然后在主
app.module.ts上使用此模块
并导入所需内容。
要了解更多信息,请学习本实用快速指南。

我将
声明全局{}
以及所有已定义的接口添加到我的应用程序模块中。这是可行的,但是如果在一个文件中有接口,我就可以将其“放入”到
declare global{}
块中。有办法做到这一点吗?
/*~ Note: If your global-modifying module is callable or constructable, you'll
 *~ need to combine the patterns here with those in the module-class or module-function
 *~ template files
 */
declare global {
  /*~ Here, declare things that go in the global namespace, or augment
   *~ existing declarations in the global namespace
   */
  interface String {
    fancyFormat(opts: StringFormatOptions): string;
  }
}