Захаров Александр: link придумали за тем что бы работать с DOM, то есть в случае если подругому ну вот никак. Например если вам надо на DOM события подписаться, или еще чего сделать, но это маленький процент задач. Раньше линк юзали активнее потому что с контроллерами директив было не так удобно, с ерсии 1.2 все стало хорошо, с версии 1.4 вообще замечательно.
По поводу системы кеширования шаблонов - по умолчанию ангуляр ничего не кеширует, кеширует браузер. Вы можете отключить кеширование как в браузере так и заголовками web-сервера, это не так сложно. Вроде как uiRouter имеет свой слой кеширования но его можно отключить декорацией.
p.s. я редко юзаю templateUrl, все чаще просто template использую и подключаю шаблоны через webpack/jspm.
Захаров Александр: в ангуляре работать с DOM напрямую не желательно, вот мой поинт. Используя внутренее API ангуляра ($compile/$parse) мы завязываемся на фреймворк. В большинстве случаев это ок, но если хочется потом мигрировать на второй ангуляр - надо отучать себя.
Захаров Александр: парочку кастылей вы хотели сказать. ng-include делает ровно то же самое, но только вы напрямую не работаете с DOM, меньше императивного кода, меньше шансов сделать багу.
v- smerti: мне проще написать функцию-декоратор которая это будет делать, и что? Вариантов масса. Для домашнего проекта который вы оставите у себя любой удобный вам вариант сгодиться. А для коммерческих проектов лучше так никогда не делать либо сообщать заказчику о сопутствующих рисках.
Miku Hatsune: нет, Request это не зависимость конструктора, это аргумент экшена. Посмотрите как это все реализовано в Laravel5, пробуйте сделать так же. Там и сервисы для экшена через дабл диспатч можно подтягивать.
v- smerti: первое время по нулям. Я просто не понимаю этого стремления писать на одном языке везде и всюду, особенно если этот "язык" всеравно будет страдать теми же проблемами что и js. Без голанговского рантайма чисто по синтаксису никакого профита я не вижу.
"внедрение зависимостей". Даже из перевода должно быть понятно. Храните вы в свойствах или как угодно - это не суть. Суть в том что зависимость передаются явно а не создаются на местах с использованием глобальных конфигов и т.д. На этом зона ответственности контейнера зависимостей заканчивается, он просто ресолвит граф зависимостей.
Miku Hatsune: потому что человек вместо DateTime взял имутабельный DateTimeImmutable. Он специально сделан что бы его нельзя было изменить. Это бывает полезно при организации логики предметной области (что бы выплевывать имутабельный объект во вне и не беспокоиться что кто-то может его изменить)
copal: я храню в local storage (я нахожу защиту от XSS проще чем от CSRF в случае с хранением в куках, тем более что от XSS всеравно надо защищаться). Кто-то в http only куках.
Ярослав IKARUS: ну ок, просто сразу скажу тогда что синьеры не пишут классами там где классов нет. В JS надо использовать объекты и функциональную парадигму и тогда жить не так больно. Принципы ООП (такие как инкапсуляция и т.д.) всеравно важны, но терминология различаются. Классы не нужны, нужны объекты.
По поводу системы кеширования шаблонов - по умолчанию ангуляр ничего не кеширует, кеширует браузер. Вы можете отключить кеширование как в браузере так и заголовками web-сервера, это не так сложно. Вроде как uiRouter имеет свой слой кеширования но его можно отключить декорацией.
p.s. я редко юзаю templateUrl, все чаще просто template использую и подключаю шаблоны через webpack/jspm.