@angular2Эта группа больше не существует

Страница 48 из 179
andretshurotshka?❄️кде
10.10.2016
14:33:12
let localData:any в первой строке
лучше интерфейс написать

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'.

Семен
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
В конструкторе ты указываешь тип того что ты инжектишь, как без импорта это предлагаешь делать?
А почему нельзя сделать так, чтобы DI отдавал не только экземпляр класса, но и хранил его тип

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
как он поймет что такое loginService ?
а как он поймет, если тайпскрипт стирает типы в рантайме?

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

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

декораторы генерируют JS код для рантайма

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

Неужели область видимости там своя?

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
зачем костыль
authentication = () => { Не помогло

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

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

.catch(error => {})
благодарю

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
=)

Страница 48 из 179

Эта группа больше не существует Эта группа больше не существует