谁能告诉我。'@'
导入的 Component 函数前面的符号。那是 ES6 语法吗?我还没有看到它在我看过的任何其他非 Angular ES6 项目中使用过。
import {Component} from ...
@Component({})
谁能告诉我。'@'
导入的 Component 函数前面的符号。那是 ES6 语法吗?我还没有看到它在我看过的任何其他非 Angular ES6 项目中使用过。
import {Component} from ...
@Component({})
该@
语法是 es7 新草案的一部分,目前处于第 1 阶段(提案阶段)。它们被称为装饰器。
装饰器可以在设计时注释和修改类和属性。
有关更多信息,请参阅:https ://github.com/wycats/javascript-decorators
注意:您可以使用装饰器,通过启用(在 webpack 中)或通过将配置设置为来使用Babeloptional[]=es7.decorators
stage:1
简短的回答:没有。
@
语法定义了一个注解——这是由 Angular 的AtScript引入的,后来合并到TypeScript中。据我所知,它们类似于 .NET 语言中的注释。
注解不是标准 ES6 的一部分;它们只是 TypeScript 提供的装饰。值得注意的是,Angular 2 支持使用 TypeScript 注释,Aurelia 也是如此。
我目前无法提供链接,但有资源非常详细地描述了 ES6 的特性和语言组件。
只是为了记录,您可以在 ES6 中实现相同的行为,只需将 TypeScript 注释转换为以下内容:
import {Component, ...} from 'angular2/core';
export class myAppOrDirective {
static get annotations() {
return [
new Component({
selector: 'my-app-or-directive'
}),
new View({
template: `<div>Hello!</div>`
})
];
}
}