Korolll
02.02.2017
05:00:59
Golodnyi
02.02.2017
05:35:22
Добрый день, я вот вижу что можно с рххт работать еще так return this.http.get('user.json'), а чем обсерверы лучше?
Иван
02.02.2017
05:36:28
Nikita
02.02.2017
05:36:51
вероятно, промисов
Google
Igor
02.02.2017
05:40:06
обсерверы лучше промисов тем что можно вернуть уже подготовленный поток трансформаций:
getUserId() {
return this.http.get('api/auth/user')
.map(resp => resp.json())
.map(user => user.id)
}
//где то в коде:
getUserId().subscribe(userId => console.log(userId)); //запрос выполнится только тут и сразу вернет все что нужно
приме выдуманный из головы
Golodnyi
02.02.2017
05:40:09
чем лучше чем '@angular/http';?
Иван
02.02.2017
05:40:53
чем лучше чем '@angular/http';?
эта библиотека ангулара. this.http.get это ее использование. Она тебе возвращает обсервебл, который дальше ты можешь слушать в любом месте.
Golodnyi
02.02.2017
05:41:19
что значит слушать? Ловить изменения с сервера?
Igor
02.02.2017
05:41:30
вообще что-то говорить про this.http спорно, хз че у него там :D
Иван
02.02.2017
05:41:53
Посмотри, если после останутся вопросы - попробую на них ответить. Хотя в обсах я сам новичек.
Igor
02.02.2017
05:47:43
http://reactivex.io/rxjs/manual/overview.html помоему у них ввода статья просто исчерпывающая
Иван
02.02.2017
05:48:24
сори, май инглиш вери бед ((
ай фил сик вен ай рид инглиш текст
Igor
02.02.2017
05:49:55
там из js примеров больше половины понятно :)
ещё чуть чуть гугл транслейта, и ты уже бог документаций
Google
Иван
02.02.2017
05:50:36
надо нагуглить плагин, который при наведении на слово его переводит
я где то видел такой
Golodnyi
02.02.2017
05:51:10
парень в видео пишет в vs code, а я его ковырял и не понял для кого это создано)
Иван
02.02.2017
05:51:45
Golodnyi
02.02.2017
05:52:10
упс, у такого нового редактора уже есть фанаты?) окей, хороший редактор
andretshurotshka?❄️кде
02.02.2017
05:52:46
лол
Nikita
02.02.2017
05:52:51
=)
andretshurotshka?❄️кде
02.02.2017
05:53:13
Пишу в vs code на реакте. Брат жив
Lends
02.02.2017
05:54:49
Не надо тут на вс
Igor
02.02.2017
05:55:13
vs code норм
Golodnyi
02.02.2017
05:55:22
ну ясно, обсервибл типа подписывает переменную на данные, при получении
а как в ангуляре живут с тако проблемой, что есть 2 пользователя, сидят на 1 старнице, юзер 1 удаляет объект, как юзеру 2 правильно синхронизовать объект? Я думал что subscribe это магически делает, но видимо нет, руками это тмеханизм воспроизводится?
Igor
02.02.2017
05:57:14
Nikita
02.02.2017
05:57:15
Иван
02.02.2017
05:57:37
Golodnyi
02.02.2017
05:57:42
грусть
ну ф5 в ангуляре так себе штука
Иван
02.02.2017
05:57:51
Igor
02.02.2017
05:58:04
можете сходить в стан метеоровцев
насладиться магией в доволь, и вернуться назад :D
Google
andretshurotshka?❄️кде
02.02.2017
05:59:40
лучше не ходить
Nikita
02.02.2017
06:00:39
лучше не ходить
отчего же ? оно ведь как то работает и решает проблемы синхронизации данных
Golodnyi
02.02.2017
06:01:26
а как тут живут компоненты, допустим при входе на урл /users загружается users.component, у него в конструкторе заполняются объекты, когда я уйду с урла, объект умрет или нет? Будет ли повторный вызов конструктора, если я вторйо раз зайду в /users?
а, да, вижу что вызывается, тоесть из памяти компонент дропается?
Alexander
02.02.2017
06:03:33
да, но если из users/5 перейти на users/6 то старый компонент останется
Nikita
02.02.2017
06:03:45
Alexander
02.02.2017
06:03:51
а новые параметры придут как раз в него по подписке
Golodnyi
02.02.2017
06:04:06
ну норм
Иван
02.02.2017
06:04:26
Maksim
02.02.2017
06:04:56
Alexander
02.02.2017
06:05:35
старый не уничтожится, если при переходе между роутами ты остался в том же компоненте
Иван
02.02.2017
06:05:37
Alexander
02.02.2017
06:10:15
эээ. я может выражаюсь, не очень четко, но старый instance (объект) класса UserViewComponent в случае выше никуда не уйдет и будет использован для показа страницы ровно с тем же внутренним состоянием, что и на странице (роуте) /users/5. Не будет соответственно вызван ни ngOnInit, ни ngOnDestroy. Если хочется ловить момент этого перехода, то надо подписываться на ActivatedRoute параметры
Константин
02.02.2017
06:17:06
Nikita
02.02.2017
06:22:05
внесу свою лепту
http://rxmarbles.com/
Константин
02.02.2017
06:22:58
Переводят по наведению мышки. Или выделяешь кусок текста и жмешь кнопку на панели. Текст подменяется на переведенный.
Google
Иван
02.02.2017
06:24:16
Константин
02.02.2017
06:27:40
Igor
02.02.2017
06:29:10
https://chrome.google.com/webstore/detail/google-translate/aapbdbdomjkkjkaonfhkkikfgjllcleb
Golodnyi
02.02.2017
07:08:06
Вывожу {{user|json}} - выдает { "id": "1", "login": "golodnyi", "name": "name2", "email": "email@gmail.com" }
Вывожу {{user.login}} - выдает Error in ./ShowComponent class ShowComponent - inline template:0:4 caused by: Cannot read property 'login' of undefined
wtf...
Иван
02.02.2017
07:09:23
у тебя строка наверное хранится в user
JSON.parse
Golodnyi
02.02.2017
07:09:42
вывожу {{user}} - выдает [object Object]
ну и вообще у меня там условно
user: User = data
в другом методе user: User[] = data работает норм, там массив приходит
Олег
02.02.2017
07:15:32
откуда user берется? асинхронно?
Иван
02.02.2017
07:17:06
Парни, сори за офтоп, никому XBox360 не нужен? В личку пишите)
Daniil
02.02.2017
07:18:28
Голодный, попробуй так user?.login
Это если он асинхронно берётся
Golodnyi
02.02.2017
07:18:56
так сработало, спс
Олег
02.02.2017
07:19:33
ну дык когда первый чек он undefined вестимо
Golodnyi
02.02.2017
07:19:36
типа вопрос дает знать что надо ожидать?
Daniil
02.02.2017
07:19:42
Тут несколько способов. Можно еще значение по умолчанию задать
Google
Daniil
02.02.2017
07:20:02
Нет, вопрос даёт понять, что значения может и не быть
И тогда пропускает то что после
Golodnyi
02.02.2017
07:20:43
странно все это)
Daniil
02.02.2017
07:22:25
Можно сравнить это с ngIf который отображает компонент только если задано значение переменной. Тут как бы - если значение уже есть, то давай, если нет - то пропускай.
Поскольку значение появляется не сразу при загрузке компонента, возникает эта ошибка
Golodnyi
02.02.2017
07:31:22
понятно
когда уже войдет в традицию, чтоб фронтендом занимались фронтендщики) сдишь вникаешь в эти нюансы
приложение отображающее список юзеров и контерного юзера, написал дня за 4, кошмар)
Daniil
02.02.2017
07:33:13
Ребят, особенно те кто ответил про работу. Присоединяйтесь к чату про трудоустройство. А то те сообщения затерялись уже. Интересно и полезно бы узнать где работу хорошую найти.
https://t.me/ng2work
Golodnyi
02.02.2017
07:34:23
ну я год назад где то с 1-м ангуляром работал, но чет это никак не помогло)
Daniil
02.02.2017
07:34:57
Ну значит опыт фронтенда есть как-никак)
Сам то чем занимаешься?
Golodnyi
02.02.2017
07:35:09
новый проект на работе, решили делать все на последних технологиях, php 7.1, angular 2, bootsrap 4)
теперь страдаем чуть чуть
но в целом интересно конечно
Daniil
02.02.2017
07:36:00
Зато потом страдать не придётся так сильно
Новые и поддерживать проще
Bogdan
02.02.2017
07:36:41
потом новые будут старыми
Олег
02.02.2017
07:36:52
чтоже не на ноде
Эта группа больше не существует