Size: a a a

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

2021 March 04

RD

Roman Danyliv in Angular - русскоговорящее сообщество
как сделать свитч?
источник

RD

Roman Danyliv in Angular - русскоговорящее сообщество
export class ModalService {
 private componentRef: any;

 constructor(
   private componentFactoryResolver: ComponentFactoryResolver,
   private appRef: ApplicationRef,
   private injector: Injector
 ) {
   document.getElementsByClassName('modal');
 }

 openModal(component: any) {
   this.componentRef = this.componentFactoryResolver
     .resolveComponentFactory(component)
     .create(this.injector);
   this.appRef.attachView(this.componentRef.hostView);
   const domElem = (this.componentRef.hostView as EmbeddedViewRef<any>)
     .rootNodes[0] as HTMLElement;

   document.body.appendChild(domElem);
 }
 switchModal(component: any) {
   this.closeModal();
   this.openModal(component);
 }

 closeModal(){
   this.appRef.detachView(this.componentRef.hostView);
   this.componentRef.destroy();
 }
}
источник

OP

Oleg P in Angular - русскоговорящее сообщество
Alex Bu
Почему?
логика пишется либо в сервисах либо если уж очень простая в компонентах. Шаблон ничего не должен решать. Кроме как отображать данные.
источник

B

Bretbas in Angular - русскоговорящее сообщество
Народ, подскажите что я делаю не так.
У меня есть enum, где значения в нем целые.
С сервера летят строки, которые я хочу привести к этому enum. Пытаюсь так как на скрине, но ничего не происходит:
http://joxi.ru/LmGwQ9KHlXlgKm
источник

B

Bretbas in Angular - русскоговорящее сообщество
все, разобрался.
источник

СК

Сергей Крутилин... in Angular - русскоговорящее сообщество
Привет всем. Подскажите, пожалуйста, если у меня есть шаблон с тимфореста, к примеру, и я хочу на основе этого шаблона построить ангуляр приложение, то как мне лучше хранить стили: кинуть в assets и в случае чего переопределять в компонентах или создавать компоненты и закидывать в них стили из шаблона и шаблон хранить отдельно?

Я пробовал кидать в assets и загружать с помощью angular.json, импортировать в style.scss и все равно стили не применяются
источник

СК

Сергей Крутилин... in Angular - русскоговорящее сообщество
В этом шаблоне есть стили как для разработки scss и стили собранные галпом
источник

BB

Bogdan Bida in Angular - русскоговорящее сообщество
Сергей Крутилин
Привет всем. Подскажите, пожалуйста, если у меня есть шаблон с тимфореста, к примеру, и я хочу на основе этого шаблона построить ангуляр приложение, то как мне лучше хранить стили: кинуть в assets и в случае чего переопределять в компонентах или создавать компоненты и закидывать в них стили из шаблона и шаблон хранить отдельно?

Я пробовал кидать в assets и загружать с помощью angular.json, импортировать в style.scss и все равно стили не применяются
Перешерсти лучше по компонентам стили, в чем смысл держать все в одном файле, потом это ж разрабатывать будет нереально
источник

СК

Сергей Крутилин... in Angular - русскоговорящее сообщество
Понял, благодарю
источник

AB

Alex Bu in Angular - русскоговорящее сообщество
Oleg P
логика пишется либо в сервисах либо если уж очень простая в компонентах. Шаблон ничего не должен решать. Кроме как отображать данные.
Вы не закончили мысль. Там должно быть еще самое важное "потому что ...."
источник

T

TürkmenHan in Angular - русскоговорящее сообщество
Alex Bu
Вы не закончили мысль. Там должно быть еще самое важное "потому что ...."
источник

AB

Alex Bu in Angular - русскоговорящее сообщество
Вы считаете, что в ангуляре мвс?

Всё таки холивар был разрешен выше, но давайте продолжим, если вы того желаете. Мы обсуждали размещение ридонли переменных в темплейтах. Некоторые отдельно взятие берут эту простую операцию, обзывают её "размещать логику в темплейте" и начинают бороться с какой-то супер огромной проблемой, приплетая сюда и ченджДетекшнСтратегии и другие умные слова, с которыми встретились

Посыл простой. Не дублировать переменные вида user = this.service.user, а вызвать эти переменные в темплейте по виду {{service.user}} в рамках ограничений service per component. Где здесь противоречие мвс и прочим умностям?

Из плохо что мы получили:
1) сервис из приватного модификатора доступа получает публичный
2) какая-то неведомая проблема с каким-то абстрактно непонятным переделыванием сервиса в неопределенном будущем, которая может заафектить поддержку

Вы или @oligarhe можете еще чем-нибудь полезным пополнить умозаключения, кроме "атата сейчас всех будем по руками бить"? Если да, сердечно прошу Вас. Если нет, давайте не будем продолжать
источник

ДМ

Денис Макаров... in Angular - русскоговорящее сообщество
Alex Bu
Вы не закончили мысль. Там должно быть еще самое важное "потому что ...."
1) соблюдение правил инкапсуляции. Компоненты могут использоваться через viewchild, тогда юзер может получить доступ к сервису и использовать его. Затем, любые изменения приватного свойства приведут к цепочке изменений дальше.
2) правило деметры. Чем меньше вложенность с которой мы работаем, тем проще проводить реакторинг. Например public user$ = service.getUser() будет проще редактировать, если мы усложним заменим сервис, или поменяем метод. Шаблон при этом менять не придется. https://habr.com/ru/post/512716/.

Это всего лишь бест практисы, к ним можно прислушиваться, можно не прислушиваться. Почему так агрессировать на этот счет - мне не понятно
источник

AB

Alex Bu in Angular - русскоговорящее сообщество
Денис Макаров
1) соблюдение правил инкапсуляции. Компоненты могут использоваться через viewchild, тогда юзер может получить доступ к сервису и использовать его. Затем, любые изменения приватного свойства приведут к цепочке изменений дальше.
2) правило деметры. Чем меньше вложенность с которой мы работаем, тем проще проводить реакторинг. Например public user$ = service.getUser() будет проще редактировать, если мы усложним заменим сервис, или поменяем метод. Шаблон при этом менять не придется. https://habr.com/ru/post/512716/.

Это всего лишь бест практисы, к ним можно прислушиваться, можно не прислушиваться. Почему так агрессировать на этот счет - мне не понятно
То бишь, ровно те 2 пунктах, о которых я написал выше.  К которым мы пришли еще выше
источник

ДМ

Денис Макаров... in Angular - русскоговорящее сообщество
ну я все подряд тут не читал
источник

AB

Alex Bu in Angular - русскоговорящее сообщество
Денис Макаров
1) соблюдение правил инкапсуляции. Компоненты могут использоваться через viewchild, тогда юзер может получить доступ к сервису и использовать его. Затем, любые изменения приватного свойства приведут к цепочке изменений дальше.
2) правило деметры. Чем меньше вложенность с которой мы работаем, тем проще проводить реакторинг. Например public user$ = service.getUser() будет проще редактировать, если мы усложним заменим сервис, или поменяем метод. Шаблон при этом менять не придется. https://habr.com/ru/post/512716/.

Это всего лишь бест практисы, к ним можно прислушиваться, можно не прислушиваться. Почему так агрессировать на этот счет - мне не понятно
Нет агрессии, просто одно и то же уже который круг обсуждаем
источник

AF

Alexei Fedorov in Angular - русскоговорящее сообщество
Oleg P
логика пишется либо в сервисах либо если уж очень простая в компонентах. Шаблон ничего не должен решать. Кроме как отображать данные.
"атата сейчас всех будем по руками бить"?

Это ты обещал ему руки сломать? 😳
источник

O

Oles Hrytseniuk in Angular - русскоговорящее сообщество
привет, как можна передать результат строки после pipe в вызов функции ? (click)="function('text' | pipe)"
источник

O

Oles Hrytseniuk in Angular - русскоговорящее сообщество
или это нехорошая идея?
источник

T

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