
Alexander
07.11.2016
12:26:45
по поводу ngrx (или redux) - есть ли какой-нибудь опен-сорсный пример с более-менее крупным проектому реализованным по этой схеме? на словах и простых приложениях кажется подход очень стройным и красивым, но не до конца понимаю, как это может выглядеть в крупных приложениях со всякими свойствами типа "скрывать блок тут" и прочими, неотносящимися к "серверным" данным

Alexey
07.11.2016
12:31:58
по поводу "скрывать блок тут" не надо тут с Redux перебарщивать как мне кажется, это можно хранить в стейте компонента, т.е просто в его свойствах.
например в select компоненте есть стейт open: true/false, query: 'qwe..' (для поиска по элементам)

Dmitry
07.11.2016
12:32:59
+1, локальный стейт компонента это тоже ок
паранойи в стиле, все в одном месте, не разделяю.

Google

Alexey
07.11.2016
12:33:02
и selected: {..}
вот и я про то же
select не должен ни с каким redux работать
он должен быть "глупый"

Sergey
07.11.2016
12:34:46

Alexey
07.11.2016
12:35:35
ну в общем есть вполне четкая грань того что нужно и что не нужно хранить в глобальном Store
и это обычно понятно когда ты разрабатываешь конкретную фичу в приложении

Sergey
07.11.2016
12:36:18
Так и есть

Lends
07.11.2016
12:37:08
Всё в одном месте - это когда все данные в window пишешь.

Alexey
07.11.2016
12:38:18
так что насчет практик для более декларативного кода в Redux / ngRx?

Sergey
07.11.2016
12:38:45

Alexey
07.11.2016
12:38:51
неужели вы пишете this.state.dispatch({type: MY_CONS_TYPE, payload: {..}) ?

Sergey
07.11.2016
12:39:25
Бывает

Google

Alexey
07.11.2016
12:39:26
и импортите эти несчастные константы actionTypes везде
?

Sergey
07.11.2016
12:40:06
Это просто паттерн, он не всем подходит

Alexey
07.11.2016
12:40:18
и все редюсеры в switch ?

Yuriy
07.11.2016
15:01:39
Привет. Такой вопрос, можно ли динамически сетить @HostListener ? Чтобы была возможность передать набор ивентов при определении компонента через Inputs?
Подозреваю, что нет. Скорее придется вручную сетить обработчики. Но мало ли)

Louis
07.11.2016
19:06:42
ку всем, как передать из ng-model="" в другой ng-model ?))
можно ли
или передать значение из input в контроллер
а оттуда
в другой ng-model

Black and
07.11.2016
19:37:26
#helpme
есть страница с логином допустим
после успешной логинации переправляю на страницу с приложением, на которой роутинг страниц идёт
на ней схема примерно такая
nav
ng-view
Меняется контент только внутри ng-view, nav остаётся прежним, т.е у меня пока что login - это отдельная статическая страница без роутинга. Вопрос в следующем: как login добавить в роутинг, но чтобы в странице login не было nav?

Bogdan
07.11.2016
20:09:56
Используй именованные router-outlet. Разные.
http://vsavkin.tumblr.com/post/145672529346/angular-router

Алексей
07.11.2016
20:13:35
не извиняйся а сам удаляй или редактируй сообщение. Злостных нарушителей баним.

Louis
07.11.2016
20:14:12

マイク
07.11.2016
20:14:51
@Ai_boy, а можно ссылочку на материалы с твоего сегодняшнего доклада?

Алексей
07.11.2016
20:15:55

マイク
07.11.2016
20:16:48
Пасиб :)

Влад
07.11.2016
21:28:30

Google

Алексей
07.11.2016
21:29:26

Влад
07.11.2016
21:30:16

Алексей
07.11.2016
21:30:46

Михаил
08.11.2016
07:58:38
Вопрос по NativeScript (не знаю, насколько это попадает в тему чата, но, будем надеяться, хоть немного попадает).
Надо в приложении повешать обработчик на нажатие хардварных кнопок регулировки звука.
Поддержки из коробки, насколько я смог понять, нету, поиск по плагинам тоже ничего не дал.
Как это сделать в java я нашел на SO, но вот как завести этот скрипт из NS и связать с основной частью приложения - не знаю.
Может кто подсказать, в какую сторону копать и насколько это вообще сложно?

Alexey
08.11.2016
08:11:12
Доброе утро, кто нибудь пользовался CanActivate? Если да, то может знаете, как лучше организовать проверку авторизированного юзера на сервере внутри canActivate, например GET запрос какой ниубудь?

Alexey
08.11.2016
08:16:09
Я юзал, но делал проверку на клиенте. По идее ничто не мешает переопределить canActivate как угодно.
По статье с медиума слизал, могу скинуть позже.

Alexey
08.11.2016
08:17:29
Я видел статью, там берется токен из локал стораджа, если не ошибаюсь, но мне это не подходит(

Alexey
08.11.2016
08:18:24
Ну тк вместо токена из стораджа можно запрос кидать)

Alexey
08.11.2016
08:26:23
у меня canActivate срабатывает раньше, чем с сервака приходит ответ
и соответтсвенно дальше он не пускает

Oleg
08.11.2016
08:28:50
@AlexNaughtyBoy path: 'profile', canActivate: [AuthGuardService]
@Injectable()
export class AuthGuardService implements CanActivate {
constructor(private AuthService: AuthService, private router: Router) {}
canActivate() {
return this.AuthService.session().map((result: ISession) => {
if (result.items.login) return true
this.router.navigate([''])
})
}
}

Dima
08.11.2016
08:29:01

Alexey
08.11.2016
08:42:44

Anton
08.11.2016
09:13:32
Тут принимаются вопросы по первому ангуляру или есть какой-то отдельный чатик?

Alexey
08.11.2016
09:14:08

Alexey
08.11.2016
09:17:13
А кто-нибудь имел дела с ng2-paginate? У меня че-то не видит компонент его(
The pipe 'paginate' could not be found ("
есть issues на эту тему, но открыт и не помогает
Пардон, ng2-pagination

Виталий
08.11.2016
09:23:45
Подскажите как с webpack-ом в хроме дебажить ts файлы, вместо склеенных и минифицированных js?

Google

Тарас
08.11.2016
09:25:28
devtool: 'source-map'
http://www.jbrantly.com/typescript-and-webpack/

Виталий
08.11.2016
09:34:10
Я вот такой конфиг использую https://github.com/preboot/angular2-webpack/blob/master/webpack.config.js Вроде бы все там настроено, а ts в браузере все равно нет

Тарас
08.11.2016
09:34:55
а в настройках хрома они не отключены?

Виталий
08.11.2016
09:37:11
включены
Enable JavaScript source maps же?

Тарас
08.11.2016
09:37:54
да
ну тогда нужно убедиться действительно ли они создаются

Виталий
08.11.2016
10:30:13
разобрался, спасибо

Nikita
08.11.2016
10:47:07
подскажите где почитать про реализацию мультиязычности, без каких-либо пакетов.

Yuriy
08.11.2016
15:01:45
https://angular.io/docs/ts/latest/cookbook/i18n.html

Каїн
08.11.2016
15:02:15
без каких-либо пакетов

Виталий
08.11.2016
15:27:21
какой-то он мудреный, я решил простым пайпом https://www.npmjs.com/package/angular2-i18n

Dima
08.11.2016
15:39:57

Yuriy
08.11.2016
15:41:55
Привет!!??

Алексей
08.11.2016
19:32:27


Alexey
08.11.2016
19:36:12
еще один state manager, мда...

Алексей
08.11.2016
19:37:02

Google

Алексей
08.11.2016
19:39:45

Alexey
08.11.2016
19:45:49
спасибо, уже смотрел) предложеный подход имеет место быть

Alexey
08.11.2016
20:39:56

Михаил
09.11.2016
04:16:20

Пронин
09.11.2016
10:57:15
использую роутинг { path: ':alias/newsreel', component: NewsReelUserComponent, canActivate: [AuthGuard] } нахожусь на странице http://localhost:5555/1640370147/newsreel если клиннуть [routerLink] по ссылке http://localhost:5555/2640370147/newsreel то ни чего не происходит... в том числе ngOnInit - я не правильно использовал роутинг, что он начал кешироваться ?

Dima
09.11.2016
10:58:24
а AuthGuard отрабатывает?

Пронин
09.11.2016
10:59:08
да

Dima
09.11.2016
11:00:42
не вдавался в подробности, как происходят переходы, если компонент не изменяется. Посмотрел бы в сторону routeParams, возможно там есть Observable, который тебе подскажет, что параметр изменился

Пронин
09.11.2016
11:01:56
когда использовал в другом компоненте роутинг /news/:id работало...
Эта группа больше не существует