или обернуть его в функцию и вызывать в шаблоне?
{{tabItem.title ? (translateKey + '.' + tabItem.title | translate) : tabItem.symbol}}
2. Я понимаю что функция будет перевызываться каждый раз, но мне кажется тернарка будет также перевызываться, просто мы этого не видим, как можно проверить сколько раз вызывается тернарка в шаблоне (кажется эксперемент с заменой на переменной на getter не правильным)?
Разницы нет, разве что функцию можно мемоизировать через какой-нибудь пайп, сделать типа {{tabItem.title | memoFunc:getTitle | translate}}
что бы доказать это я бы хотел иметь возможно проверить количество вызовов тернарки в шаблоне, не представляю как это сделать, может как-то брекпоит в ядре angular или ссылка на исходник как angular c работает.
Шаблоны компилируются, брейкпоинт вы не поставите, разве что в какой-нибудь templateFactory или как там ее В ivy по-моему обещают jsx-подобный апи человекочитаемые инструкции, если введут, то сгенерированные шаблоны можно будет нормально смотреть
я думаю тернарка будет высчитываться столько же раз сколько будет перерендер (столько же раз будет вызыватся и функция)
Обсуждают сегодня