Size: a a a

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

2021 March 04

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Alex Bu
Видите разницу между
<div *ngIf="serice.getUser$() | async"> и <div *ngIf="user$ | async">, который user$=this.serice.getUser$()?

И я вижу, так плохо очевидно

А вот в случае <button (click)="user$ = service.getUser()"> я ничего плохого не вижу. Делать однострочную функцию в компоненте - ну хз. Как минимум читать сложнее становится
И я вижу, так плохо очевидно


Я не вижу чем первый пример хуже второго
Кроме субъективного 'ну это очевидно'
источник

E

Eugene in Angular - русскоговорящее сообщество
Alex Bu
Видите разницу между
<div *ngIf="serice.getUser$() | async"> и <div *ngIf="user$ | async">, который user$=this.serice.getUser$()?

И я вижу, так плохо очевидно

А вот в случае <button (click)="user$ = service.getUser()"> я ничего плохого не вижу. Делать однострочную функцию в компоненте - ну хз. Как минимум читать сложнее становится
мм
 user$: Observable<User> = this.serice.getUser$(); 

если вы делаете так - у вашего компонента появляется контракт, с которым он работает.
если вы вызываете в шаблоне
<button (click)="user$ = service.getUser()">
, получается, что ваша вьюха не имеет своего контракта и полагается на реализацию сервиса.
источник

AB

Alex Bu in Angular - русскоговорящее сообщество
Oleg Safonov
ну нет. Там метод может просто возвращать значение. А свойство может быть с геттером
В смысле, да, с геттером всё равно что переменную вызывать) метод с запросом на сервер, в смысле
источник

AB

Alex Bu in Angular - русскоговорящее сообщество
Eugene
мм
 user$: Observable<User> = this.serice.getUser$(); 

если вы делаете так - у вашего компонента появляется контракт, с которым он работает.
если вы вызываете в шаблоне
<button (click)="user$ = service.getUser()">
, получается, что ваша вьюха не имеет своего контракта и полагается на реализацию сервиса.
Да, мы выяснили, что кроме философии здесь больше ничего нет. Или я упускаю что-то?
источник

E

Eugene in Angular - русскоговорящее сообщество
Alex Bu
В смысле, да, с геттером всё равно что переменную вызывать) метод с запросом на сервер, в смысле
если у вас геттер возвращает что-то вроде users.filter(... => ...) - можно зациклить cd
источник

E

Eugene in Angular - русскоговорящее сообщество
Alex Bu
Да, мы выяснили, что кроме философии здесь больше ничего нет. Или я упускаю что-то?
+
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Alex Bu
Да, мы выяснили, что кроме философии здесь больше ничего нет. Или я упускаю что-то?
Такая формулировка применима к любому паттерну\правилу разработки)
источник

AB

Alex Bu in Angular - русскоговорящее сообщество
Eugene
если у вас геттер возвращает что-то вроде users.filter(... => ...) - можно зациклить cd
Да хорош уже, давайте опустим тему с cd, суть не про нее
источник

AB

Alex Bu in Angular - русскоговорящее сообщество
Oleg Safonov
Такая формулировка применима к любому паттерну\правилу разработки)
Больше важен смысл технический. Не возникает ли каких еще проблем, кроме философских
источник

AB

Alex Bu in Angular - русскоговорящее сообщество
Alex Bu
Больше важен смысл технический. Не возникает ли каких еще проблем, кроме философских
в этом и суть этого обсуждения
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Alex Bu
Больше важен смысл технический. Не возникает ли каких еще проблем, кроме философских
возникает ненужная свзяь.
При изменении сервиса мне придётся менять шаблон, внезапно)
источник

E

Eugene in Angular - русскоговорящее сообщество
Oleg Safonov
возникает ненужная свзяь.
При изменении сервиса мне придётся менять шаблон, внезапно)
и это тоже философия)
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Eugene
и это тоже философия)
источник

E

Eugene in Angular - русскоговорящее сообщество
Alex Bu
Больше важен смысл технический. Не возникает ли каких еще проблем, кроме философских
не возникает
источник

E

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

AB

Alex Bu in Angular - русскоговорящее сообщество
Oleg Safonov
возникает ненужная свзяь.
При изменении сервиса мне придётся менять шаблон, внезапно)
Давайте еще учтем момент, что сервис как и модуль делается per component и содержит логику работы компонента. Это наверное всё равно в идеальную философию не уложится, правда?(
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Alex Bu
Давайте еще учтем момент, что сервис как и модуль делается per component и содержит логику работы компонента. Это наверное всё равно в идеальную философию не уложится, правда?(
сервис не всегда per component, чего это
источник

AB

Alex Bu in Angular - русскоговорящее сообщество
Oleg Safonov
сервис не всегда per component, чего это
Для этого случая
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Alex Bu
Для этого случая
слишком много в голове держать приходится тогда при описании шаблона, имхо
источник

AB

Alex Bu in Angular - русскоговорящее сообщество
Oleg Safonov
слишком много в голове держать приходится тогда при описании шаблона, имхо
Что держать? Сервис также типизирован, при написании его инстанса в темплейте ide также прекрасно поймет его свойства
источник