
Vladimir
26.09.2016
10:13:26
окей, спасибо:)
вот только...
как бы так передать событие от одного компонента к другому

Алексей
26.09.2016
10:14:44
в Js ничего простого вроде ObservableCollection нет, можно конечно сделать что-то подобное с ProxyObject но очень не рекомендую
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Proxy

Artem
26.09.2016
10:16:32

Google

Vladimir
26.09.2016
10:19:12
хм. Получается для такого вида взаимодействия лучше всего использовать сервисы...

Алексей
26.09.2016
10:20:10

Vladimir
26.09.2016
10:20:36
да. А поскольку у меня могут быть и другие события - я по-прежнему смогу через этот сервис их гонять

andretshurotshka?❄️кде
26.09.2016
10:27:12

Vladimir
26.09.2016
10:30:08
Здесь просто стрим подойдет, у меня могут быть события разного типа

Denis
26.09.2016
13:55:40
Thanks

Dmitry
26.09.2016
14:18:09
Всем привет, кто-нибудь сталкивался с проблемой потери фокуса у инпута внтури *ngFor ?

Алексей
26.09.2016
15:00:44

Dmitry
26.09.2016
15:22:46
есть input ngModel после ввода любого символа слетает фокус с инпута, как если нажать таб или просто кликнуть в любое место на странице

Roman
26.09.2016
15:23:14
а у Вас при этом input заново не отрисовывается?

Dmitry
26.09.2016
15:23:49
вот непонятно, скорее всего срабатывает изменение объекта и Angular заново рисует весь ngfor

Roman
26.09.2016
15:23:49
это одна из причин возможных

Dmitry
26.09.2016
15:23:59
при чем такая проблема есть только при вложенном ngFor

Google

Roman
26.09.2016
15:24:59
https://angular.io/docs/ts/latest/api/common/index/NgFor-directive.html
попробуйте trackBy

Алексей
26.09.2016
15:29:12

Dmitry
26.09.2016
15:46:20
сейчас попробую
а почему планкер ругается на ngModel?
он же вроде бы везде работает без подключения директив

Roman
26.09.2016
15:51:06
вроде бы все такие требует FormsModule
*все таки

Vladimir
26.09.2016
15:51:59

Алексей
26.09.2016
16:45:22

Vladimir
26.09.2016
20:27:29
А ведь в теории, можно же организовать хэндлинг всех событий в приложении? Инпуты, кнопки и тд, верно?

Dima
26.09.2016
20:56:18
[ngModel]=“model.field” (ngModelChange)=“onChange($event)”

Алексей
26.09.2016
20:56:27

Vladimir
26.09.2016
20:56:36

Алексей
26.09.2016
20:59:15

Alexey
27.09.2016
08:29:50
странно в формах реализована смена состояний untouched -> touched, по сути никак не хендлится
контролы меняют состояние по blur, форма соответственно тоже
form.valueChanges.subscribe() событие всплывает до этого момента
в этом хендлере form.touched будет еще false
после того как form control потеряет фокус только тогда форма перейдет в состояние touched, но ты это событие не отловишь
не будешь же на все инпуты формы вешать (blur)

Google

Alexey
27.09.2016
08:33:42
а form.dirty это не совсем то что часто нужно
мне нужно именно touched отловить событие, быть уверенным что именно пользователь руками поменял форму а не просто новые проперти в нее пришли
какое-то непродуманное api у touched

Vadim
27.09.2016
08:41:36
Почитай документацию на angular.io, там есть решение твоей проблемы, если не изменяет память.
Там комбинация состояний нужна, если вкратце
А логика touched создана для отдачи ошибок при потере фокуса, когда мы уже "потрогали" поле.

Ilya
27.09.2016
08:43:47
*валидации

Vadim
27.09.2016
09:00:36
Без такой фичи процесс проверки "потрогали инпут/нет" был бы гораздо более трудоёмким.
Ребят, а angular-cli имеет инструменты для лёгкой интеграции AOT? А то в документации по AOT нашёл что-то про это, и для меня это немного удивительно.

Алексей
27.09.2016
09:34:07

Alexey
27.09.2016
09:45:11
есть событие valueChanges у формы, есть statusChanges который тригерит изменения VALID | INVALID, но это не то
нет события по смене состояний touched/untouched
я про это

Dima
27.09.2016
09:49:11
ИМХО - это слишком, нагромождать все контролы событиями на каждый чих. Не сложно написать совю директиву или вешать на все контролы обработчик blur

Alexey
27.09.2016
09:55:06
эти события уже есть в ангуляре, есть классы ng-touched / ng-untouched на каждом контроле формы, есть такие же на самой форме, есть отдельное поле form.touched: true | false, это все есть. Нет возможности этот переход состояний хендлить разработчику, вот что я пытаюсь объяснить. Я хочу отловить момент когда форма стала touched именно в тот момент когда это произошло, а произошло это когда мы потрогали какой-нибудь из ее контролов и убрали с него фокус
что бы было понятней - http://plnkr.co/edit/FI7aQM4EGfTpj5PuQLe2?p=preview
в console.log выводится form.valueChanges.subscribe
внутри него мы не можем отловить момент Form touched: true не можем

Google

Alexey
27.09.2016
10:12:16
и собственно нигде не можем

Sergey
27.09.2016
10:13:03
Запили plunkr, чтобы потыкать

Alexey
27.09.2016
10:17:35
запилил же

Sergey
27.09.2016
10:19:20
https://www.youtube.com/watch?v=7Bj4R7lGl4A
Enjoy!
Сейчас о universal как раз

Alexey
27.09.2016
10:41:01
о, спасибо!

Sergey
27.09.2016
10:48:42
Все это пока не работает. Все будет, но позже.
will be adding...
Ну я пробовал собрать с sw - пока это все experimental, но через пару месяцев допилят что-то

Alexey
27.09.2016
10:52:03
это круто, пусть допиливают, подождем
а вот lazyLoading нормальный поскорее бы хотелось

Sergey
27.09.2016
10:57:28
Это в ту же копилку, там еще route пилить и пилить, потому как элементарные вещи зачастую не работают
Кстати, https://github.com/angular/angular/blob/master/CHANGELOG.md
Выпустили 2.1.0-beta.0

Alexey
27.09.2016
11:20:24
поддержка анимаций конечно нереально мощная

Vadim
27.09.2016
11:23:09
И 2.0.1 тоже

Sergey
27.09.2016
11:23:26
Да

Google

Vladimir
27.09.2016
11:24:21
@Ai_boy а у нас есть прямой доступ к рендеру?
Чтобы не писать document.createElement, но при этом ссылку на отрендеренную часть хранить в модели?

Vadim
27.09.2016
11:24:59
Кстати, на гитхабе появился какой-то ~~упорок~~ крутой контрибутор, который в одиночку сделал альтернативу angular2-webpack-starter и уже значительно обошёл его в функционале. Вдобавок, все самые свежие версии пакетов добавляет максимально быстро, а не неделю, как в angular2-webpack-starter
https://github.com/qdouble/angular2webpack2-starter
Вот его репозиторий.
Но, возможно, это не самый совершенный вариант.

Vladimir
27.09.2016
11:27:13
Я через *ngIf делаю.
мне нужно динамически создавать элементы и менять их свойства, перемещать и тд:(

andretshurotshka?❄️кде
27.09.2016
12:16:12
а как переехать с rc.4 на 2.0.0 с @NgModule?

Алексей
27.09.2016
12:31:47
Эта группа больше не существует