Class
Stable
Function
Class Export
export Class(clsDef: ClassDefinition) : Type<any>
Provides a way for expressing ES6 classes with parameter annotations in ES5.
Basic Example
var Greeter = ng.Class({ constructor: function(name) { this.name = name; }, greet: function() { alert('Hello ' + this.name + '!'); } });
is equivalent to ES6:
class Greeter { constructor(name) { this.name = name; } greet() { alert('Hello ' + this.name + '!'); } }
or equivalent to ES5:
var Greeter = function (name) { this.name = name; } Greeter.prototype.greet = function () { alert('Hello ' + this.name + '!'); }
Example with parameter annotations
var MyService = ng.Class({ constructor: [String, [new Optional(), Service], function(name, myService) { ... }] });
is equivalent to ES6:
class MyService { constructor(name: string, @Optional() myService: Service) { ... } }
Example with inheritance
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; } });
exported from @angular/core/index defined in @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