2017-01-25 2 views
0

Есть еще один способ, чтобы сделать инъекцию зависимостей в классе угловых контроллера, за исключением:Что такое другой способ инъекции угловой зависимости с использованием es6?

constructor($http) { 
    this.$http = $http; 
} 

Иногда слишком много услуг, чтобы использовать, что конструктор, кажется, «немного большим».

+0

https://docs.angularjs.org/guide/di – Mistalis

+0

_ "Иногда слишком много услуг, чтобы использовать, что конструктор, кажется, быть„немного большим“_ И это было бы что у вашего класса слишком много обязанностей. – zeroflagL

ответ

0

Я не знаю, что проблема точно есть, но вы, конечно, можете просто сделать ваш конструктор класса более читаемым:

constructor(
    private $http, 
    private $scope 
    private ..., 
    private ...) { 
    // no need to use this... = ... 
} 

Если вы просто обеспокоены длинами и хочу сделать его более нечитаемый:

static $inject = ["$http","$scope","otherDep", ..]; 
constructor(a,b,c,d,e,f) { 
    this.$http = a; 
    this.$scope = b; 
    this.... = c; 
    // etc 
} 
+0

Что такое «частный»? Для этого нет никакой документации. –

+0

Использование 'private',' protected' или 'public' является сокращением для немедленного создания свойства вместо того, чтобы использовать' this.someProp = someProp'. Но теперь я вижу, что вы используете ES6, а не машинописный. Я не уверен, что ES6 также реализует это – devqon

Смежные вопросы