169 похожих чатов

Привет. Подскажите, плз, обращение к сервису в темплейте это большой

грех или может есть метод покрасивее?

27 ответов

11 просмотров

Допустимо - но в данном случае я бы написал директиву в которой бы заюзал сервис для установки свойства [link]. Все что как-то меняет DOM - используй директивы.

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

Oleh P
почему?

Логику в темплейт не надо пихать)

Ihor
Логику в темплейт не надо пихать)

так я и не сказал логику - я написал что лучше все завернуть в директиву и применить ее к DOM

Oleh P
так я и не сказал логику - я написал что лучше все...

А я вообще промахнулся, я хотел на его вопрос ответить, а вышло на твой ответ)

Alex Bu
Почему?

Серьезно?)

Alex Bu
Почему?

Потому что это не PHP?

Ihor
Серьезно?)

Да, мне интересно, можете ответить конкретно?

Oleksandr Serdiuk
Потому что это не PHP?

Вы правы, это также не лампа и даже не глобус)

Alex Bu
Почему?

логика пишется либо в сервисах либо если уж очень простая в компонентах. Шаблон ничего не должен решать. Кроме как отображать данные.

Oleh P
логика пишется либо в сервисах либо если уж очень ...

Вы не закончили мысль. Там должно быть еще самое важное "потому что ...."

TürkmenHan
https://developer.mozilla.org/en-US/docs/Glossary/...

Вы считаете, что в ангуляре мвс? Всё таки холивар был разрешен выше, но давайте продолжим, если вы того желаете. Мы обсуждали размещение ридонли переменных в темплейтах. Некоторые отдельно взятие берут эту простую операцию, обзывают её "размещать логику в темплейте" и начинают бороться с какой-то супер огромной проблемой, приплетая сюда и ченджДетекшнСтратегии и другие умные слова, с которыми встретились Посыл простой. Не дублировать переменные вида user = this.service.user, а вызвать эти переменные в темплейте по виду {{service.user}} в рамках ограничений service per component. Где здесь противоречие мвс и прочим умностям? Из плохо что мы получили: 1) сервис из приватного модификатора доступа получает публичный 2) какая-то неведомая проблема с каким-то абстрактно непонятным переделыванием сервиса в неопределенном будущем, которая может заафектить поддержку Вы или @oligarhe можете еще чем-нибудь полезным пополнить умозаключения, кроме "атата сейчас всех будем по руками бить"? Если да, сердечно прошу Вас. Если нет, давайте не будем продолжать

Alex Bu
Вы не закончили мысль. Там должно быть еще самое в...

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

Denis Makarov
1) соблюдение правил инкапсуляции. Компоненты могу...

То бишь, ровно те 2 пунктах, о которых я написал выше. К которым мы пришли еще выше

Denis Makarov
1) соблюдение правил инкапсуляции. Компоненты могу...

Нет агрессии, просто одно и то же уже который круг обсуждаем

Oleh P
логика пишется либо в сервисах либо если уж очень ...

"атата сейчас всех будем по руками бить"? Это ты обещал ему руки сломать? 😳

Alex Bu
Вы считаете, что в ангуляре мвс? Всё таки холивар...

[2] Проблема как раз таки вполне известная. Вы теряете контроль над переменной в самом компоненте. К примеру, в сервисе на это переменную вешают геттер-функцию, в результате пострадает перф, а никто и не заметит.

A F
А если вешают? ))

Circular dependency detected

Alex Bu
Circular dependency detected

Вот к чему обращения к сервису в шаблоне приводят))

Oleg Safonov
Вот к чему обращения к сервису в шаблоне приводят)...

Сервиса в сервисы вы имеете в виду? О божечки, еще одна мысля хорошая по теме, жаль что не по той)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта