
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
чтоже не на ноде
Эта группа больше не существует