Lends
30.01.2017
12:53:28
<button md-button color="accent">Click me!</button>
работает же ж
https://plnkr.co/edit/Uc2CgMk9hI24OPn1R3RP?p=preview
Vitaliy
30.01.2017
13:29:02
точно спасибо
Google
Иван
30.01.2017
14:06:07
Vladimir
30.01.2017
14:24:18
А если страничку прокрутить?
Bogdan
30.01.2017
14:26:00
Gleb
30.01.2017
14:33:09
Привет, если мне в Effect (ngrx) нужен айтем из store, могу ли я обратиться к нему прямо как к value из эффекта? или предполагается что сам effect руками не может лезть в store?
Mikhail
30.01.2017
14:39:35
Gleb
30.01.2017
14:41:28
Ну то есть еще раз, на каком этапе при отправке экшн в обычном redux мы можем добавить какие то данные в экшн? чисто идеологически интересно
например я сабмитю форму и мне нужно добавить из стора в экшн еще данных
Можно по сути подкастылить через компонент рутовый, а как без костыля должно выглядеть?
Mikhail
30.01.2017
14:42:56
в обычном redux ты возвращаешь функцию, в которую вторым параметро (вроде вторым) попадает store
поэтому ты вызываешь store.getState() - берешь данные - и возвращаешь action
Gleb
30.01.2017
14:43:48
Все догнал тогда) то есть там прям в экшн напрямую мы передаем?
стор
Mikhail
30.01.2017
14:43:58
да
Gleb
30.01.2017
14:44:02
а тут то есть я тогда не парясь беру в effect
Google
Gleb
30.01.2017
14:44:07
понял , спасибо!)
Mikhail
30.01.2017
14:44:09
ну и из него методом достаем данные
? пожалуйста)
Igor
30.01.2017
14:47:39
бля кривенько вставилось
Gleb
30.01.2017
14:48:28
СУПЕР!
@igor_na Вам тоже спасибо!
Igor
30.01.2017
14:48:35
я патчу данные кусками, поэтому патч может не содержать id текущей модели, я беру его из стора
нз
Gleb
30.01.2017
14:48:55
withLatest
отлично вообще!
Mikhail
30.01.2017
14:49:43
крут ?
А как достать 2 и более значения?
Я просто совсем новичок в ang
Igor
30.01.2017
14:50:01
через запятую
.withLatestFrom(observer1, observer2, (value1, value2, yourValue)
Mikhail
30.01.2017
14:51:02
ок, прикольна. +10 к годам жизни
Igor
30.01.2017
14:51:03
лучше ко сну :D
Gleb
30.01.2017
14:57:19
ГУД!!)
Google
Gleb
30.01.2017
15:05:34
А хотел спросить, тут наверное больше по синтаксису, у тебя data в данном случае - Array?
А то у меня чуть по-другому получилось
.withLatestFrom(this.store.select(fromRoot.getOrganization), (data, organization) => {
return Object.assign({}, data, organization.id)
})
Я так понимаю ... это конкат ведь?
Mikhail
30.01.2017
15:07:57
Теперь и моя очередь задать вопрос)
npm run такой команды gulp && NODE_ENV=production webpack && NODE_ENV=production webpack --config ./webpack.config.aot.js вылетает через скока минут с ошибкой
sh: line 1: 5598 Segmentation fault: 11 NODE_ENV=production webpack --config ./webpack.config.aot.js
Что это может быть?
Иван
30.01.2017
16:07:52
Vladimir
30.01.2017
20:23:08
@Ai_boy :)
Виталий
31.01.2017
04:15:02
Всем привет. Опять второй день бьюсь с этими роутами, и книжка на 92 страницы не помогает. Вот гист: https://gist.github.com/argnist/540182721a907c457ca1a72536e62661 Что нужно поправить, чтобы работало так: При переходе в корень редирект на conversations - показывает ConversationsComponent, в нем есть аутлет под ConversationItemComponent. При переходе на /conversations/:id нужно, чтобы в этот аутлет загружался ConversationItemComponent, при этом все остальные компоненты в шаблоне ConversationsComponent оставались? У меня то корневой не может средиректить, то при переходе по /conversations/:id ConversationItemComponent грузится в главный аутлет под ConversationsComponent, беда в общем.
Igor
31.01.2017
04:41:39
у тебя путь до /conversations/id ['', ':folder', 'conversations', ':id'], а ты хочешь ['conversations', ':id']
редирект пни отдельно в самый низ
а сверху оставь только :
{
path: 'conversations',
component: ConversationsComponent,
children: [
{
path: ':id',
component: ConversationItemComponent,
}
]
},
добавил тебе в гист
Виталий
31.01.2017
04:44:48
Местами поменять?
Igor
31.01.2017
04:45:13
гист чекни, я комент добавил
Виталий
31.01.2017
04:46:25
Ты получается просто местами поменял редирект и путь conversations
А и :folder убрал, но ничего не изменилось...
С корня редирект проходит на conversations, но не находит роут
Хотя полный путь http://localhost:8080/#/conversations/b7a10bdc-b893-43d5-9511-fa21d2870ea1 отображается сейчас как надо, но http://localhost:8080 редиректит на http://localhost:8080/#/conversations и показывает ошибку 404
гист чекни, я комент добавил
children: [
{path: '', component: ConversationItemComponent},
{
path: ':id',
component: ConversationItemComponent,
}
]
Вот так с виду работает нормально, но при открытии диалога, из-за того, что это разные роуты, он делает лишние запросы на список диалогов. Как избежать лишнего?
Igor
31.01.2017
05:02:37
вынеси ресолв списка выше
туда же в гист тебе пример закинул
у меня в системе каждый юзер имеет N профилей
Google
Igor
31.01.2017
05:04:27
поэтому в настройках надо отображать список его профилей
и иметь возможность редактировать каждый
вот роут что в гист добавил, делает это
там список профилей у родителя подгружается, а манипуляции все ниже
Виталий
31.01.2017
05:54:21
вынеси ресолв списка выше
У меня резолверов нет, запрос на список делается в конструкторе ConversationsComponent. Получается, что при переходе с '' на ':id' компонент пересоздается, чего по идее быть не должно.
Igor
31.01.2017
05:55:16
почему не должно, должно, это же другая ветка роутера
мысли о роутере как о дереве, если ты прыгаешь с ветки на ветку, то компонент будет пересоздаваться
Виталий
31.01.2017
05:55:52
А как сделать одной веткой?
Igor
31.01.2017
05:55:53
не пересоздается тот компонент который будет общий для этих веток
Виталий
31.01.2017
05:56:26
ConversationsComponent общий для '' и ':id' но он пересоздается при переходе между ними
Igor
31.01.2017
05:56:30
ни как, просто заресолвь выше :) ну или точно так же в конструкторе комопнента выше по дереву сделай этот запрос
Виталий
31.01.2017
05:56:45
так уже некуда выше))
Igor
31.01.2017
05:57:06
ConversationsComponent у тебя не общий, не путай тот факт что ты его используешь и там и там, с тем что является общим
Виталий
31.01.2017
05:57:12
их всего 2 компонента, не в AppComponent же это пихать
Igor
31.01.2017
05:57:20
children: [
{path: '', component: ConversationItemComponent},
{
path: ':id',
component: ConversationItemComponent,
}
]
вот тут же написано что это чьито children
будет AppComponent -> ConversationLayout -> Два других роута
в ComponentLayot в темлейт сунь аутлет, а в конструкторе запрашивай что нужно
он не будет пересоздаваться
Виталий
31.01.2017
05:58:54
Я не вижу разницы между моим ConversationsComponent и твоим AppLayout
Google
Виталий
31.01.2017
05:59:19
так же есть дети пустой путь и :id
Igor
31.01.2017
05:59:48
покажи роут целиком
я может сам уже запутался
Виталий
31.01.2017
06:00:50
Добавил коммент в https://gist.github.com/argnist/540182721a907c457ca1a72536e62661
Igor
31.01.2017
06:01:47
ConversationsComponent пересоздается?
Виталий
31.01.2017
06:01:56
да
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule {
вот так еще объявляется
Igor
31.01.2017
06:03:13
окей, тогда был не прав, по идеи не должен. Но я не проверял, знаю что ресолвер точно один раз отрабатывает при такой схеме
чекнул, у меня пашет
мой ProfileLayout только один раз отрабатывает конструктор
Виталий
31.01.2017
06:12:08
Как-то блин как будто 2 раза роутинг обрабатывается...
Igor
31.01.2017
06:13:47
может у тебя редирект срабатывает всё время
отруби его на время
Виталий
31.01.2017
06:21:14
Похоже все нормально работает, это хром какую-то фигню показывает... Сначала весь лог с нормальной подписью файлов, а потом повторяет с VM174350:31 вместо имени файла. Что это?
Эта группа больше не существует