【问题标题】:Typescript import syntax with Angular / Rxjs带有 Angular / Rxjs 的打字稿导入语法
【发布时间】:2018-02-26 10:42:10
【问题描述】:

我对 Angular 和 Typescript 很陌生。 我想知道这个导入语法到底是如何工作的?

import 'rxjs/add/observable/of';
import 'rxjs/add/operator/do';

我知道 Typescript 的语法是“import X from Y”,但是我们这里只有“import X”?

我在打字稿文档中找到了这个:

"只为副作用导入一个模块 虽然不推荐这种做法,但一些模块设置了一些可供其他模块使用的全局状态。这些模块可能没有任何导出,或者消费者对它们的任何导出都不感兴趣。”

但这对我来说不是很清楚。通过上面的例子,我们究竟导入了什么?有哪些副作用? “of”和“do”是函数吗?

(我的问题是关于一般的打字稿导入语法,而不是“如何”导入某些特定的 Rxjs 运算符的问题)

谢谢

【问题讨论】:

标签: angular typescript rxjs


【解决方案1】:

在这种情况下,导入这些文件将修补 rxjs Observable 原型。但是你可以考虑任何副作用。最简单的副作用是登录控制台。

文件 side-effect.ts

console.log('I am side effect!');

您的主要打字稿文件

import './side-effect.ts';

现在,如果您在主文件中运行代码,它将记录“我是副作用!”在控制台中,因为导入的副作用。

【讨论】:

  • 谢谢。现在似乎更清楚了。它基本上在 Observer 类上导入了一个新的“静态”方法。
  • 当使用“import file_name”而不是“import x from file_name”时,效果是整个“file_name”类都包含在当前文件中?
  • 是的,of 添加一个静态 Observable 创建者,do 向 Observable 原型添加一个新方法
  • 没有真正包括在内,只是加载并执行。
猜你喜欢
  • 1970-01-01
  • 2018-09-23
  • 1970-01-01
  • 1970-01-01
  • 2017-08-17
  • 1970-01-01
  • 2020-04-25
  • 2017-03-16
  • 1970-01-01
相关资源
最近更新 更多