2015-08-06 2 views
2

Это вопрос с вопросом, на который меня спросили: AngularJS: Как именно работает служба $ route?

Из того, что я понимаю, $ route загружает шаблон по ссылке/кнопке/независимо от щелчка, затем заменяет div/раздел [ng-view] HTML-кодом шаблона, сохраняет его в памяти и выталкивает последующие клики с помощью шаблон в памяти.

Правильно ли это или Угловая загрузка шаблона каждый раз при получении клика?

Другими словами, Угловая нагрузка шаблона один раз или он загружается каждый раз? Мне кажется, было бы более эффективно загружать его только один раз, но я не знаю этого наверняка. Любое понимание очень ценится.

ответ

2

Угловая документация $templateCache говорит

В первый раз шаблон используется, он будет загружен в кэш шаблонов для быстрого поиска

Угловая $ маршрут использует $ templateCache внутренне, так что да , шаблон загружается один раз и повторно используется из кеша при последующих посещениях одного и того же маршрута.

Этот blog post имеет дополнительную информацию. Соответствующие биты:

первый раз шаблон доступен, угловой получит с сервера и добавить его в $ templateCache

каждый раз, ID ссылается с тех пор, угловатый получает его из $ templateCache, а не с сервера!

2

Я не думаю, что ваш ответ обязательно неправильно, так же, как есть много частей на странице рендеринг/как это оказанное ($ маршрут, $ routeProvider, директива ngView)

$ маршрута используется для глубокого связывания URL-адресов с контроллерами и представлениями (частичные части HTML). Он смотрит $ location.url() и пытается сопоставить путь к существующему определению маршрута.

Смотрите documentation или копаться в source

EDIT: Добавлены объяснения.

Смежные вопросы