首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在typescript中@符号是什么意思--Angular 2

在typescript中@符号是什么意思--Angular 2
EN

Stack Overflow用户
提问于 2016-07-03 20:36:40
回答 2查看 13K关注 0票数 32

我正在使用typescript进行angular 2应用程序开发。

但当我们为组件或路由配置或其他地方编写代码时,我们使用"@“符号。

我的问题是这个符号是什么意思,为什么需要它?

EN

回答 2

Stack Overflow用户

发布于 2016-07-03 23:02:48

您引用的@符号称为decorator

装饰器提供了一种为类声明和成员添加注释和元编程语法的方法。

基本上,当你在做@component的时候,你是在告诉编译器这个类是一个带有作为参数传递的元数据的angular2组件。

例如。

代码语言:javascript
复制
@Component({
  moduleId: module.id,
  selector: 'heroes-app',
  templateUrl: 'heroes.component.html',
  styleUrls: ['heroes.component.css'],  
})
class HeroesComponent{}

这段代码将告诉编译器,类HeroesComponent应该是一个带有作为参数传递的元数据的angular2组件,它将创建一个组件类。

装饰器不是魔法。这只是函数调用。

例如。

代码语言:javascript
复制
@Component({
selector: 'static-component',
template: `<p>Static Component</p>`
})
class StaticComponent {}

等同于:

代码语言:javascript
复制
class DynamicComponent {
}

const dynamicComponent = Component({
    selector: 'dynamic-component',
    template: `<p>Dynamic Component</p>`
})(DynamicComponent);

希望这能有所帮助。

票数 41
EN

Stack Overflow用户

发布于 2016-07-03 20:41:56

这意味着你正在应用一个装饰器。

随着TypeScript和ES6中类的引入,现在存在某些场景,需要额外的功能来支持注释或修改类和类成员。装饰器提供了一种为类声明和成员添加注释和元编程语法的方法。装饰器是JavaScript的第1阶段提案,并作为TypeScript的实验特性提供。

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

https://stackoverflow.com/questions/38170004

复制
相关文章

相似问题

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