Size: a a a

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

2020 June 03

V

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

N

Nick in Angular - русскоговорящее сообщество
Сергей Омельницкий
Привет. Подскажите почему использовать сервисы  шаблоне это плохая практика?
И мне интересно)
Почему вдруг?
Зависит конечно от того что выводить в шаблон)
источник

СО

Сергей Омельницкий... in Angular - русскоговорящее сообщество
Ну я так понимаю поток или переменную
источник

ДМ

Денис Макаров... in Angular - русскоговорящее сообщество
Сергей Омельницкий
Привет. Подскажите почему использовать сервисы  шаблоне это плохая практика?
2 причины:
1) Сервисы - это зависимость(реализация) компонента, а реализацию обычно делают private, а для работы с ней реализуют методы(интерфейс). Если ты выставляешь сервис в шаблон, то его придется сделать public. Следовательно, нарушается принцип инкапсуляции.
2) Вторая причина - следсвие первой. Когда кто-то подвяжется на public сервис, а вы потом поменяете реализацию, то как бы придется затронуть и другой код, который вы возможно даже не трогали. Да и сервисы хранят в себе логику вашего приложения, пусть и в форме Observable, выставлять ее в шаблон, не есть хорошо
источник

СО

Сергей Омельницкий... in Angular - русскоговорящее сообщество
Ну такое себе. В сервисе ты и так используешь паблик. Если мне и придётся вносить правки я их так же буду вносить и в ts
источник

ДМ

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

СО

Сергей Омельницкий... in Angular - русскоговорящее сообщество
Я понимаю что это
источник

L

Looch in Angular - русскоговорящее сообщество
Денис Макаров
почитайте про инкапсуляцию)
и разделение ответсвенности
источник

ДМ

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

ДМ

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

L

Looch in Angular - русскоговорящее сообщество
Денис Макаров
и разделению view от логики
view , хотя на vue я б тоже логику бы не писал 😂
источник

ДМ

Денис Макаров... in Angular - русскоговорящее сообщество
Looch
view , хотя на vue я б тоже логику бы не писал 😂
спасибо, чет попутал
источник

СО

Сергей Омельницкий... in Angular - русскоговорящее сообщество
Давай я приведу конкретный пример. Мне нужно использовать публичное  св-во сервиса. Почему я не могу его использовать сразу в шаблоне?
источник

DS

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

СО

Сергей Омельницкий... in Angular - русскоговорящее сообщество
Ну по-моему я делаю лишнее телодвижение когда объявляю св-во компонентой и присваиваю ему значение св-ва сервиса
источник

ДМ

Денис Макаров... in Angular - русскоговорящее сообщество
Сергей Омельницкий
Давай я приведу конкретный пример. Мне нужно использовать публичное  св-во сервиса. Почему я не могу его использовать сразу в шаблоне?
потому что это свойство сервиса, а не шаблона. Сервисы - это все такие же классы, которые напрямую инжектятся к вам в компонент. Представьте, что у вас есть класс машина, а у нее есть двигатель. По сути, двигатель это сервис. Вы же не будете выставлять его наружу как паблик, хоть у него и есть свои паблик методы. А без объявления сервиса как паблик, вы не сможете получить к нему доступ из шаблона
источник

L

Looch in Angular - русскоговорящее сообщество
Сергей Омельницкий
Давай я приведу конкретный пример. Мне нужно использовать публичное  св-во сервиса. Почему я не могу его использовать сразу в шаблоне?
потому что будет каша
источник

L

Looch in Angular - русскоговорящее сообщество
шаблоны это просто view с минимальной логикой и я как девелопер не ожидаю что там будет вызов какого-то сервиса. и тем более если публичное апи сервиса поменятся
источник

СО

Сергей Омельницкий... in Angular - русскоговорящее сообщество
Looch
шаблоны это просто view с минимальной логикой и я как девелопер не ожидаю что там будет вызов какого-то сервиса. и тем более если публичное апи сервиса поменятся
При изменении переменной сервиса тебе же все равно придётся лесть в ts компонента
источник

ДМ

Денис Макаров... in Angular - русскоговорящее сообщество
Сергей Омельницкий
При изменении переменной сервиса тебе же все равно придётся лесть в ts компонента
в ts, но не в шаблон
источник