typescript 导出一个组件和将其模块导入到另一个模块中有什么区别?

46qrfjad  于 2022-11-18  发布在  TypeScript
关注(0)|答案(3)|浏览(127)

在Angular中工作时,假设我们有 * 模块A* 和 * 模块B*,如果我想在 * 模块B* 的组件中使用“A-component”,那么在 * 模块B* 中导入 * 模块A* 与在 * 模块A* 的导出中添加“A-component”有什么区别?
我两个都试过了,我觉得它们不是一回事,这很令人困惑。

gtlvzcf8

gtlvzcf81#

您需要导出和导入,而不仅仅是一个。
除非您使用默认导出,否则您的代码应类似于:
a.mjs

export class myClass {
  ...
}

b.mjs

import { myClass as myClassFromA } from './a.mjs'

或使用默认导出:
a.mjs

export default class myClass {
  ...
}

b.mjs

import myClassFromA from './a.mjs'
nqwrtyyt

nqwrtyyt2#

1.将模块A导入到模块B中这意味着您要访问模块B中的组件、管道、指令和服务来自模块A
1.在模块的导出中添加“A组件”这意味着您要使使用模块A的用户可以访问此组件

k4emjkb1

k4emjkb13#

基于Dependency injection的Angular 。例如,您希望使用B模块中的A组件,您需要从A模块中导出A组件并将A模块导入B模块。
如果直接使用A组件而不导出,会怎样?
然后,你必须在B模块中提供A组件的所有依赖项,所以这是一个不好的做法。最好从模块中导出它。

相关问题