Spec-Zone.ru › Angular 2

Класс

Stable Function

Экспорт класса

export Class(clsDef: ClassDefinition) : Type<any>

Предоставляет способ выражения классов ES6 с аннотациями параметров в ES5.

Базовый пример

var Greeter = ng.Class({
  constructor: function(name) {
    this.name = name;
  },

  greet: function() {
    alert('Hello ' + this.name + '!');
  }
});

эквивалентно ES6:

class Greeter {
  constructor(name) {
    this.name = name;
  }

  greet() {
    alert('Hello ' + this.name + '!');
  }
}

или эквивалентно ES5:

var Greeter = function (name) {
  this.name = name;
}

Greeter.prototype.greet = function () {
  alert('Hello ' + this.name + '!');
}

Пример с аннотациями параметров

var MyService = ng.Class({
  constructor: [String, [new Optional(), Service], function(name, myService) {
    ...
  }]
});

эквивалентно ES6:

class MyService {
  constructor(name: string, @Optional() myService: Service) {
    ...
  }
}

Пример с наследованием

var Shape = ng.Class({
  constructor: (color) {
    this.color = color;
  }
});

var Square = ng.Class({
  extends: Shape,
  constructor: function(color, size) {
    Shape.call(this, color);
    this.size = size;
  }
});

экспортировано из @angular/core/index, определено в @angular/core/src/util/decorators.ts

© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v2.angular.io/docs/ts/latest/api/core/index/Class-function.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API