Pull to refresh
3
0
Евгений Добрянский @essome

Software Architect

Send message
каждый день удивляюсь как реактеры придумывают себе проблемы, а потом героически их решают.
В том же 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 не видел ничего подобного, что этот код делает?

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

Information

Rating
Does not participate
Location
Ивано-Франковск, Ивано-Франковская обл., Украина
Date of birth
Registered
Activity