angularjs - Creando un $provider con typescript
Estoy intentando crear un proveedor $ utilizando un método bastante simple trasladado de mi aplicación angularjs.
El original
(function(){
var app = angular.module('app',[]);
app.config(function($provide) {
$provide.provider('foo',function(){
this.$get = function(){
var foo = 'foo';
return {
foo:foo
}
}
}
}
}());
Es bastante sencillo. Sin embargo, cuando intento implementar esto en TypeScript, obtengo un error en this.$get -> La propiedad get no existe
export interface IFooConfig {
foo:string;
}
export class FooConfig implements IFooConfig {
static $inject = ["$injector","$provide"];
constructor(private $provide : angular.auto.IProvideService,
public foo:string
) {
$provide.provider('foo',() =>{
this.$get = () => { // error here on this.$get
this.foo = "foo";
return {
foo:this.foo
}
}
})
}
}
angular.module("app").config(FooConfig);
}
Siento que esto debería funcionar, de lo contrario estoy haciendo algo muy fundamentalmente incorrecto