
Vadim
10.10.2016
14:31:59

andretshurotshka?❄️кде
10.10.2016
14:33:12

Vadim
10.10.2016
14:34:03
Мы не ищем лёгких путей?

andretshurotshka?❄️кде
10.10.2016
14:34:22
нет, зачем тогда typescript если везде ставить any

Google

Семен
10.10.2016
14:34:31
Может кто-нибудь пояснить в чем смысл DI, в ng2? Допустим есть сервис, который я хочу прокинуть в компоненту, ок. В метаданные прокидываю providers, в конструктор, что и как положить. Но почему мне нужно еще и импорт делать этого сервиса в файле компненты?
Какую же он тогда роль выполняет?

Vadim
10.10.2016
14:34:59
Ник смени :)

Vladimir
10.10.2016
14:35:55
DI передаст тебе экзамепляр этого сервиса

Семен
10.10.2016
14:36:23
Ник смени :)
Залошил ;3 Это как люди говорят, что они шикарны, чтобы самоутвердиться)

Vladimir
10.10.2016
14:36:47
Ты можешь затребовать у DI реализацию абстрактного класса

Семен
10.10.2016
14:36:53
У меня просто комплиятор ломается
ERROR in [default] /home/devsnice/Projects/unviable/frontend/src/app/pages/login/login.component.ts:7:16
Cannot find name 'LoginService'.

Alexey
10.10.2016
14:36:59

Семен
10.10.2016
14:37:25
Никак, насколько я понимаю

Alexey
10.10.2016
14:37:47
логично
ответил сам себе на вопрос?

Vladimir
10.10.2016
14:38:09
твой ник должен быть bottom

Семен
10.10.2016
14:38:16
Т.е DI не хранит в себе сам класс?

Vladimir
10.10.2016
14:38:31
DI передает экземпляр класса

Google

Vladimir
10.10.2016
14:39:25
и DI работает так везде

Alexey
10.10.2016
14:42:15
DI должен понять экземпляр какого класса он тебе должен создать и прокинуть в конструктор

Семен
10.10.2016
14:42:46

Alexey
10.10.2016
14:43:24
constructor(loginService) {}
как он поймет что такое loginService ?
это просто название аргумента функции
после минификации он будет constructor(l2) {} какой-нибудь

Семен
10.10.2016
14:44:18
А, ок, а какую же роль тогда выполняется providers?

Alexey
10.10.2016
14:45:01
по сути тебе редко когда нужно определять providers в компоненте
нужно все в модули выносить
и там в providers: [] все передавать

Семен
10.10.2016
14:45:48
A provider is something that can create or return a service

Alexey
10.10.2016
14:46:03
providers: [] в метадате компонента насколько я знаю указывает DI чтобы он созда новый экзмпляр сервиса
т.е иногда ты хочешь иметь синглтон в приложении

Семен
10.10.2016
14:46:32
Я предполагал, что providers: [LoginService] и подтянет мне класс

Alexey
10.10.2016
14:46:46
иногда хочешь в чтобы DI в каждый компонент передавал новый инстанс
подтянет, но откуда он знает в какую переменную тебе его присвоить в конструкторе

andretshurotshka?❄️кде
10.10.2016
14:47:25

Alexey
10.10.2016
14:47:42
у тебя может быть constructor(loginService, userService, cacheService)

Google

Alexey
10.10.2016
14:48:34
@injectable в сервисе и @component() в компоненте скрывают эту магию внутри
декораторы генерируют JS код для рантайма

Семен
10.10.2016
14:49:49

Alexey
10.10.2016
14:50:17
не за что

Sergey
10.10.2016
15:36:34
Ну в 2016 и DI для кого-то МАГИЯ
Такое время

Lends
10.10.2016
15:37:58
не материтесь...
печально, но давай без мата

Sergey
10.10.2016
15:38:31
Да что ты переживаешь, просто раньше не было чатиков, где такое спрашивать. Берешь умную книжку или доку и читаешь. А сейчас всем лень. Быстрее в чатик написать, типа не откажут. А стоило бы послать в гугл или доку
Не солидно - эмоджи вот эти - пригорает у стариков ))

Dmitry
10.10.2016
15:44:35
но тока вроде у нас забанили хаб то

Алексей
10.10.2016
15:44:56
щас начну банить и те кто флудит и те кто поддерживает флуд

Oleg
10.10.2016
15:48:07
errorMessage:string='';
authentication() {
this.userService.authUser(this.user.username,this.user.password).then(function (msg) {
console.log(msg);
}).catch(function (error) {
this.errorMessage=error;
})
}Почему то не могу присвоить ошибку которая отлавливается в catch
EXCEPTION: Uncaught (in promise): TypeError: Cannot set property 'errorMessage' of null
Неужели область видимости там своя?

Igor
10.10.2016
15:49:48

Oleg
10.10.2016
15:51:40
А как пофиксить?
почему тогда user пробрасывается?
this.userService.authUser(this.user.username,this.user.password).then(function (msg) { Корректно пользователя же передает

Google

Sergey
10.10.2016
15:52:39
Область видимости функции

Oleg
10.10.2016
15:53:34
неужели тут тоже костыль в виде self = this нужно прописывать?(

andretshurotshka?❄️кде
10.10.2016
16:01:06
() => {}
зачем костыль

Oleg
10.10.2016
16:09:31

Dmitri
10.10.2016
16:13:47
.catch(error => {})

Oleg
10.10.2016
16:15:35
а слона то я и не заметил

Igor
10.10.2016
16:17:38
благодарю
Не внимательный, я же выше писал тебе это )

Oleg
10.10.2016
16:18:09

Леонид
10.10.2016
16:36:28
Вернуть
И присвоить этот респонс на модель
А там уже занимайся с моделью

? Node
10.10.2016
16:53:16

Denis
10.10.2016
16:54:03
=)
Эта группа больше не существует