javascript - ES6 相当于这个 Angular 2 typescript

标签 javascript typescript ecmascript-6 angular

我有这个 typescript ,我想编写 ES6 的等效内容。我正在学习 Angular 2,并且更喜欢使用 ES6 而不是 TypeScript,并且所有示例都使用 ES5 或 TypeScript。如果我看到这段代码是如何用 ES6 编写的,那么我应该能够从那里使用我需要基于 typescript 编写的任何新代码。干杯。

'use strict';
import {Component, bootstrap} from 'angular2/angular2';

// Annotation section
@Component({
  selector: 'my-app',
  template: '<h1>Hello {{ name }}</h1>'
})
// Component controller
class MyApp {
  constructor() {
    this.name = 'Max';
  }
}

最佳答案

您的代码的 ES6 等效项位于 this plunk 中。我通过添加一个服务来演示 参数 属性,对您的代码进行了一些更改(见下文)。

说明

我认为你不知道如何将装饰器和类型转换为 ES6。

  1. 要替换类装饰器(例如 ComponentDirective),请向组件添加 annotation 属性。您可以使用静态 getter为此:

    class App {
    
      static get annotations() {
        return [
          new Component({
            selector: 'my-app',
            template: '<h1>Hello, {{ name }}</h1>',
            providers: [Service]
          })
        ];  
      }
    
      // ...
    }
    
    // or just add `annotation` after class declaration
    App.annotations = [
      new Component({
        selector: 'my-app',
        // ...
      })
    ];
    
  2. 要替换参数装饰器(例如 @Inject)和类型(constructor(type: Type)),请添加 parameters 属性到一个组件。您再次可以使用 static getter为此:

    class App {
      // ...
    
      static get parameters() {
        return [[Service]];
      }
    
      constructor(service) {
        this.name = service.getName();
        setTimeout(() => this.name = 'Max', 1000);
      }
    }
    
    // or just add `parameters` after class declaration
    App.parameters = [[Service]];
    

关于javascript - ES6 相当于这个 Angular 2 typescript ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34561666/

相关文章:

javascript - 从其他导出调用默认模块导出?

javascript - 如何在一个onClick(ReactJS)中调用一个类和setState

javascript - Razor 在 javascript 中查看 if/else 语句

javascript - 使用 jquery 选择特定的子元素?

reactjs - 如何将自定义字体添加到样式组件中的主题提供者?

javascript - 如何在 rxjs 的 finalize 中正确运行订阅

javascript - 为什么我的 Promise.race 实现不起作用?

javascript - 如果我想在 PHP 中编辑行,请更新查询插入

javascript - 如何以不同的树状布局的形式显示JSON数据?

javascript - 如何将单选按钮逻辑放入 *ngFor 中?