
Алихей
30.11.2016
14:12:52
думаю логичнее если бы все можно было из параметров в тело конструктора перенести.

marat
30.11.2016
14:12:53
тут в апендиксе есть пример

Алихей
30.11.2016
14:15:12
Просто в сервис вынес методы для работы с бэком, через di передал Http.
А как работать с этим сервисом без di вообще не могу понять.

Google

marat
30.11.2016
14:15:51

Алихей
30.11.2016
14:34:41
@malborov сорри, но я что то не понял, как DI удовлетворяются вручную.
В примере на странице это делается через метод
injector.get
но откуда его взять?

marat
30.11.2016
14:37:03
Удовлетворить зависимости можно: через di, через ioc контейнер
Через di: в конструкторе сервиса перечисляются зависимости и ангулар их удовлетворяет при создании сервиса
Если сервис создается вручную, то зависимости необходимо передать вручную
Через ioc контейнер (в данном случае injector ангулара): получить контейнер в конструкторе сервиса и запросить у него необходимые сервисы. В случае ангулара передать injector можно через di

Алихей
30.11.2016
14:41:28
Спасибо, попробую что нибудь сделать

marat
30.11.2016
14:41:44
Пожалуйста

Nyurgun
30.11.2016
15:00:27
Добрый день, можно ли задать вопрос

Fayozjon [CybernatiC]
30.11.2016
15:04:17
Лол
Ночь ведь

Maksim
30.11.2016
15:05:14
Брад Грин бы расстроился )

Google

Fayozjon [CybernatiC]
30.11.2016
15:06:07
У нас тут мат запрещен тоже?

Nyurgun
30.11.2016
15:08:16
Как правильно использовать внутри service(http.get) params.set(возможно append(?)) для массива вида localhost/test?array[0].parameter1="значение" & array[0].parameter2="значение" и тд.


Anton
30.11.2016
15:21:02
есть компонент, который в своем шаблоне должен выводить своих наследников, задумка такая
@Component({
selector: 'dt-filter',
template:
<div [ngSwitch]="column.filter">
<dt-filter-select *ngSwitchCase="'select'" [filters]="'filters'"></dt-filter-select>
<!-- other components -->
</div>
})
export class DTFilter {
@Input() filters: any;
}
@Component({
selector: 'dt-filter-select',
template: 'this is select!'
})
export class DTFilterSelect extends DTFilter {
}
// all other filter types ...
@NgModule({
imports: [CommonModule],
exports: [ DTFilter ],
declarations: [ DTFilter, DTFilterSelect, /* other classes */]
})
export class DTFilterModule {
}
но полифилы ругаются, что в фунции __extendsFn базовый класс undefined - что я делаю не так? или это в принципе невозможно сделать таким путем?
хмм, если классы запихнуть в один файл, то работает, странно
вопрос снят

Eight
30.11.2016
15:33:56
немаленький такой вопрос

Anton
30.11.2016
15:36:13
черт, @Input не наследуется

marat
30.11.2016
15:39:11

Anton
30.11.2016
15:41:44
поля вообще нет, насколько я вижу

marat
30.11.2016
15:43:01
тери про наследование декораторов
если коротко, то наследование не поддерживается, но это можно обойти

Fayozjon [CybernatiC]
30.11.2016
16:01:09
О поддержка инстант вью

marat
30.11.2016
16:27:57
Ага, классная штука

Fayozjon [CybernatiC]
30.11.2016
16:28:34
Как у себя это реализовать?

andretshurotshka?❄️кде
30.11.2016
16:28:48
Никак

Fayozjon [CybernatiC]
30.11.2016
16:28:54
:(
Печально
Павел доки на след неделе обещал

Google

Anton
30.11.2016
16:29:28
точняк, видел же эту статью пару дней назад, дырявая голова

Алихей
30.11.2016
16:34:54
И снова вечер добрый.
Я добавил ссылку на планкер, что бы может кто то сможет показать как правильно инжектить зависимости не через параметры конструктора?
Совсем не выходит у меня. В вопросе написано в каком файле надо править если решитесь.
https://toster.ru/q/375838

marat
30.11.2016
16:37:03
+ brouserModule не надо импортить в каждом модуле, только в корневом. в остальных достаточно commonModule

Алихей
30.11.2016
16:40:49
просто писал быстро что бы пример накидать.
Смысл рабочей задачи в том что на страницах есть много одинаковых задач, я решил их функционал отнаследовать от родительского класса, но споткнулся на том что все ломается на зависимостях типа Http в родительском классе

marat
30.11.2016
16:42:22
команда ангула проделала большую работу в плане di

Алихей
30.11.2016
16:42:28
А по поводу инжекта в теле конструктора?
Пробовал через ReflectiveInjector
не помогло

marat
30.11.2016
16:42:34
не вижу смысла этим di принебрегать
а пробовали инджектить сам сервис в конструкторе компонента? ангулар сам удовлетворит зависимости сервиса

Алихей
30.11.2016
16:43:45
За di им отдельное спасибо, но именно он и ломает красоту ООП. Зачем же его в JS тогда добавлять? Можно было бы и на прототипах то же самое сделать.

Eight
30.11.2016
16:44:17
Как сделать автодополнение?

Sergey
30.11.2016
16:46:14

marat
30.11.2016
16:47:27

Алихей
30.11.2016
16:51:20
Да, я тоже не знаю как реализовать этот di руками.
Но спасибо, поддержали как смогли)

Sergey
30.11.2016
16:53:02

marat
30.11.2016
16:54:51
у меня планкер очень много вопросов вызывает. мне кажется вы первый день на ангуларе пишите

Алихей
30.11.2016
16:55:51
Я вообще форкнул этот проект что бы написать на нем один файл и одну правку.

marat
30.11.2016
16:55:55
https://angular.io/docs/ts/latest/guide/dependency-injection.html
по di для начала

Vadim
30.11.2016
16:57:23

Google

Vadim
30.11.2016
16:57:53
Ты, кстати, когда из отпуска выйдешь?

marat
30.11.2016
16:58:14
https://plnkr.co/edit/c65mTCZ1oYDGE1G0QMlM

Vadim
30.11.2016
16:58:28
Спасибо

marat
30.11.2016
16:58:37
возле new стрелочка и можно выбирать
http://blog.thoughtram.io/angular/2015/05/18/dependency-injection-in-angular-2.html

Алихей
30.11.2016
17:04:10
У меня не верно работает только вот эта часть
let injector = ReflectiveInjector.resolveAndCreate([
Router
]);
this.router = injector.get(Router);
Потому что я вынес ее в тело из параметров.
Как это лечится не понятно

Lends
30.11.2016
17:08:01
зачем переопределять injector?

Алихей
30.11.2016
17:09:52

Lends
30.11.2016
17:10:18
я про let решил похоливарить...

Алихей
30.11.2016
17:10:33
лучше в другой раз

Алексей
30.11.2016
17:15:18

Алихей
30.11.2016
17:16:21
@Ai_boy а ты не можешь подсказать как можно заинжектить зависимости не через параметры конструктора?

Vadim
30.11.2016
17:18:54
Зачем тебе это?
Что стандартными средствами мешает объявить?

Алексей
30.11.2016
17:21:22

Алихей
30.11.2016
17:22:05
Родительский класс.
В нем методы которые используются во всех страницах.
От родителя наследуются классы для создания страниц.
Все замечательно, только зависимость в di все портит. Router не прокатывает.

Google

Алихей
30.11.2016
17:22:59
ТОлько вот это не работает

Алексей
30.11.2016
17:23:21

Алихей
30.11.2016
17:25:32

Алексей
30.11.2016
17:26:54

Алихей
30.11.2016
17:27:50
https://toster.ru/q/375838
Тут и описание и все.
Править если что только в двух указанных файлах.
Остальное было тупо форкнуто.

Алексей
30.11.2016
17:29:55
В классе наследнике напиши
constructor(private _http: Http) {
super(_http);
}
Там в ответах тоже уже написали

Алихей
30.11.2016
17:32:53
Да, это работает)
Видимо так и оставлю.
Просто не хотелось везде таскать с собой зависимость в виде Router
Спасибо @Ai_boy

Алексей
30.11.2016
17:36:52
Пока решения не придумали совет только 1 копипастить декораторы @Input, @Output, @Component и т.п.

marat
30.11.2016
17:39:23

Алексей
30.11.2016
17:41:30
Чуть попозже найду и скинуть в чат
Эта группа больше не существует