Size: a a a

Angular - русскоговорящее сообщество

2021 April 14

EK

Egor Kozhanov in Angular - русскоговорящее сообщество
1. не привязывай модалку к роутам - зочем?
2. если чо надо показать в модалке, я б сделал так - есть глобальный стейт "isModalActive", на этот стейт подписывается корневой компонент app, есть сервис, который перещелкивает стейт модалки и подставляет в нее динамический компонент

таким образом у тебя одна модалка на все приложение, контент в ней динамический и ты не связываешь ее с роутами, ты молодец
источник

В

Владимир in Angular - русскоговорящее сообщество
В туториале ангуляра, в разделе роута, есть как привязать модалку к роуту
источник

РК

Роман Кононов... in Angular - русскоговорящее сообщество
Привет, подскажите хороший способ синкать форму со стором, ngrx forms считаем overkill, но проблема в том что в сторе есть модель которая сетится со стора и форма в компоненте и пробле что при апдейте 2х полей например, все переапдейчивается
источник

SA

Saqhan Abaev in Angular - русскоговорящее сообщество
Доброе утро, у меня такая задачча: задавать рандомный фоновой цвет блоку который крутится в ngFor, полуаю вот так:

this.backgroundIcon = `#${(`${Math.random().toString(16)}000000`).substring(2, 8).toUpperCase()}`;.

Но проблема в том, что всем блокам задаю одинаковый цвет, а надо бы разный)  Вызываю метод один раз в ngOnInit, возможно поэтому один цвет
источник

BB

Bogdan Bida in Angular - русскоговорящее сообщество
Ну конечно
источник

SA

Saqhan Abaev in Angular - русскоговорящее сообщество
пробовал get метод создать , но он меняет цвета при каждом event  на странице)
источник

BB

Bogdan Bida in Angular - русскоговорящее сообщество
Вынести это в геттер который возвращает это значение, и в цикле его и юзай
источник

A

Alexander in Angular - русскоговорящее сообщество
Тут нужно сгенерить массив цветов по длине соот-й ngFor или вообще добавлять свойство в элемент списка
источник

BB

Bogdan Bida in Angular - русскоговорящее сообщество
Тогда в ините сделай массив на такое кол-во
источник

SA

Saqhan Abaev in Angular - русскоговорящее сообщество
не совсем понимаю, сделать массив и вызывать метод равное arr.length ?
источник

EK

Eugene Kubesh in Angular - русскоговорящее сообщество
сделай чтобы эти блоки выводит компонент. т.е. вместо  <div class="something">...</div> у тебя будет <my-cmp class="something"/> и выводи его в ngFor, а он в свою очередь нормально сможет управлять СВОИМ состоянием и СЕБЕ задавать рандомный цвет.

Хватит срать на архитектуру! Мать вашу!
источник

A

Alexander in Angular - русскоговорящее сообщество
Как вариант, можно сделать геттер с зависимостью от i, где i - порядковый номер элемента
источник

EK

Eugene Kubesh in Angular - русскоговорящее сообщество
это вообще как?)))))))))))))))
источник

BB

Bogdan Bida in Angular - русскоговорящее сообщество
Да, это намного лучше
источник

SA

Saqhan Abaev in Angular - русскоговорящее сообщество
имеешь в виду создать отдельный компонент блока с цветным фоном, и там прописать эту логику, тогда там метод будет вызываться каждый раз при вызове и каждый раз новый цвет, правильно понимаю ?
источник

EK

Eugene Kubesh in Angular - русскоговорящее сообщество
ну да, отдельный компонент, который содержит этот блок и в нем вся логика для конкретного блока и состояние
источник

A

Alexander in Angular - русскоговорящее сообщество
как-то так:
getColor(i: number, arrLength: number): string => #${Math.floor(i / arrLength * 16777215).toString(16)};
источник

A

Alexander in Angular - русскоговорящее сообщество
Сори, сюда
источник

EK

Eugene Kubesh in Angular - русскоговорящее сообщество
это не геттер, это метод, который в шаблоне вызывать категорически нельзя. Да как и геттер подобного вида собственно...
источник

SA

Saqhan Abaev in Angular - русскоговорящее сообщество
по каким критериям определеяете что можно вызывать в шаблоне а чтчо нет?
источник