1
を注入:
class ParentController {
constructor($scope, $state){
this.$scope = $scope;
this.$state = $state;
}
}
ParentController.$inject = [ '$scope', '$state' ];
// CHILD A
class ChildAController extends ParentController {
constructor($scope, $state, AService){
super($scope, $state);
this.AService = AService;
}
// ... common functions
}
ChildAController.$inject.push('AService');
// CHILD B
class ChildBController extends ParentController {
constructor($scope, $state, BService){
super($scope, $state);
this.BService = BService;
}
}
ChildBController.$inject.push('BService');
私の問題は$inject
配列で保持参照が存在することです。つまり、ChildBの第3の依存関係は、BService
の代わりにAService
であることを意味します。
だから、すべての子どもたちが同じ以下の注入のアレイの代わりに、独自の
$inject => [ '$scope', '$state', 'AService', 'BService' ]
を持っています。
いい方法がありますか?または、どのサービスを引き継ぐかを決定するために、ある種のプロバイダサービスを作成する必要がありますか?
これらはすべて同じタスクを実行しますが、別のサービスのデータを使用しているため、この継承構造を維持してみてください。
さて、私はこれらの3つのドットについて学ばなかったので、ボーナスです。ありがとう! – James