私がこのようなものを持っているとしましょう:
interface Scope extends ng.Scope {
getMeSome(id:string):number[];
}
export class AwesomeController {
constructor (public $scope:Scope) {
$scope.getMeSome = id => this.getMeSome(id);
}
getMeSome(id:string){
console.log('Alright... alright... here it is');
}
}
ご覧のとおり、3つの異なる場所に同じメソッドシグネチャがあります。もちろん、私はそれを少し減らして、その場でそれを行うことができます-コンストラクターで:
constructor (public $scope:Scope) {
$scope.getMeSome = id => {
console.log('Alright... alright... here it is');
};
}
しかし、それはステロイドのようにコンストラクターの体を吹き飛ばします(あなたが数十の異なる方法を持っている場合)。だから私はなぜ私はそのようなことをすることができないのか疑問に思いました:
export class AwesomeController {
constructor (public $scope:Scope) { }
$scope.getMeSome(id:string) { // Can't extend $scope here, although I can do that in the constructor
console.log('Alright... alright... here it is');
}
}
なぜこれが機能しないのですか?それをよりセクシーにするための提案はありますか?