Как стать автором
Обновить
3
0
Евгений Добрянский @essome

Software Architect

Отправить сообщение
каждый день удивляюсь как реактеры придумывают себе проблемы, а потом героически их решают.
В том же angular из-за нормальной архитектуры к таким же нормальным стейт менеджером можно подключать плагин кеширования в пару строчек и больше ничего не изобретать.
Вот пример из ngxs:
imports: [
    NgxsStoragePluginModule.forRoot({
      key: 'novels'
    })
  ]

Бинго, теперь ваше состояние novels по умолчанию хранится в Кеше и не надо ничего дописывать или переписывать.

Как бы ДНР воевал с Украиной без России? Не было бы войны там, если бы Россия не лезла в чужую страну

Эта проблема решена в Angular.

Создаем компонент который не имеет своего тега, а добавляется в виде атрибута

@Component({selector: '[app-button]', template: `<ng-content></ng-content>`})
export class ButtonComponent {}

а потом навешиваем его куда хотим, на кнопку или ссылку

<a href="/" app-button>Link Text</a>
<button  app-button>Button Text</button>

Для стилей в angular есть :host который привязывается напрямую к компоненту, ему не важно какой тег у него тег

// будет как работать как для a, так и для button

:host {
  display:inline-flex;
}

А что сейчас используется?

Тогда trackBy внутри ngfor)

чтобы при переходе с /tasts/ на tasks/1/ роутер не перерендеривал весь список задач, а просто открывал рядом панельку с детализацией? Базовое поведение безбожно сломано кривыми абстракциями.

Взял первую претензию из твоего комментария

Структура такая Lists Component -> Details Component
Details Component - это дочерний роут Lists Component

В Details Component делаем список, а ниже <router-outlet></router-outlet>
При смене роута список не перерисуется, а Details перерисуется.

Список не будет перерисововаться при наличии OnPush вообще никак.

Кто чем пользуется то и видит, наблюдаю обратное в своем окружении)

Кажется вы пример этого эффекта

Без понятия зачем вам залезать на туалет.

Для начала стоит осознать то, что еда нужна для питания организма, а не что-бы жрать когда скучно/грустно/хочется чего-то не знаю чего

Что-бы с туалета не вылазить?

Ну понятно. То есть нормальной типизации не было, и не стало после обновления. Тут действительно всё отлично. Подозреваю, что если в проекте везде типы any — то вообще никогда никаких проблем с обновлением TS не будет. Профит!

Судя по ответу как раз не понятно.

2 года назад получил проект с кучей легаси и даже jquery внутри angular, обновлял его с 8 до 12 версии постепенно, на каждое обновление не уходило больше 1 рабочего дня.

Проект был без строгого режима, не знаю что у вас за код в котором надо месяцами все переписывать при обновлении, но думаю тут не Angular вина.

Так же обновления ts не относятся конкретно к angular, это нужно делать на любом TS проекте.

Да, все подтянет, там где несовместимости укажет об этом и предложит исправление.

Я сам лично наблюдал за подобными процессами в Энтерпрайзе. Типичные причины:

  • скорость работы приложения

  • скорость разработки

  • сложность миграции между версиями

Миграция очень медленная и сложная, ведь там нужно:
1. Запустить ng update

Менюшку справа -> блютус или выключит или включит, что-бы подключиться надо заходить в настройки -> устройства -> добавить устройство, хотя неясно что мешает сделать как с подключением к wifi

Вы в примере с классами вписали конфиги, а с хуками нет, что-бы код был короче)

Классы реально кажутся лучше и проще, а вот когда у вас есть SomeComponent который может быть Draggable, Droppable, Transparentable и Чегоготамble, то вы городите жуткую пирамиду из НоС'ов:

В angular на эти все вещи создается по директиве, которая независима от класса и может работать с любым (или по желанию определенным) тегом/компонентом.

В таком случа если у нас есть компонент А которому нужно добавить draggable - нам не нужно менять компонент, вместо этого мы навешиваем директиву при использовании компонента.

<my-component draggable></my-component>

Директив при этом можно навесить сколько угодно.

Может просто в react не умеют в классы?

А зачем это? За 5 лет использования ts в angular не видел ничего подобного, что этот код делает?

Во втором можно делать как угодно, но все же сервис на каждый инстанс компонента нужен очень редко.

Информация

В рейтинге
Не участвует
Откуда
Ивано-Франковск, Ивано-Франковская обл., Украина
Дата рождения
Зарегистрирован
Активность