首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么angular使用的是` `import { SomeComponent } from‘ome.Component.ts’`而不是` `import from‘ome.Component.ts’`呢?

为什么angular使用的是` `import { SomeComponent } from‘ome.Component.ts’`而不是` `import from‘ome.Component.ts’`呢?
EN

Stack Overflow用户
提问于 2018-01-05 15:18:02
回答 5查看 85关注 0票数 0

我写React/Vue。像往常一样,我喜欢导出/导入默认组件。

代码语言:javascript
运行
复制
// export
export default class SomeComponent from Component {
    // blahblah
}

// import
import SomeComponent from './some.js'

但当我使用angular2+时,我发现了一件奇怪的事情。它使用破坏性的导入/导出形式。

代码语言:javascript
运行
复制
// export
@Component({/* ... */})
export class SomeComponent {
    // blahblah
}

// import
import {SomeComponent} from './some.component.ts'

为什么?我觉得这有点麻烦。它是由Typescript规则还是贡献者定义的?

EN

回答 5

Stack Overflow用户

发布于 2018-01-05 15:26:47

如果您在class之前添加default,那么您将能够以与React/Vue中相同的方式导入。

票数 1
EN

Stack Overflow用户

发布于 2018-01-05 16:05:57

typescript或javascript文件可以导出多个类(或函数、常量)。由于这种行为,您可以以这种方式导出类(或函数、常量):

代码语言:javascript
运行
复制
export class MyClass{}

并以这种方式导入:

代码语言:javascript
运行
复制
// import
import {MyClass} from './myClass.ts'

如果您确定只导出单个类(或函数、常量),则只需使用以下语法:

代码语言:javascript
运行
复制
//export
export default class MyClass{}
//import
import MyClass from "./myclass.ts"
票数 1
EN

Stack Overflow用户

发布于 2018-01-05 15:40:51

这是标准行为。

它允许你从你的文件中导出几个东西。

例如

代码语言:javascript
运行
复制
export class MyClass {}
export const MyClassMockedForTesting = {};

但是如果您想要改变这一点,您可以使用default关键字,如下所示

代码语言:javascript
运行
复制
export default class MyClass {}

它将导出您的类,您将不再需要括号。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48108913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档