В настоящее время я изучаю Angular и пытаюсь найти хороший образец для lazyloading данных и кода структурирования.
Я создаю отзывчивое веб-приложение, и я хотел бы, чтобы у меня было возможность определить, что некоторые части веб-страницы должны быть скрыты от представления (предпочтительно с использованием медиа-запросов).
Данные, полученные для скрытых директив или представлений, затем являются избыточными.
Разница может быть существенной с рабочего стола на мобильный вид, и я хотел бы, чтобы приложение было максимально легким на мобильном телефоне и использовании сети.
Что такое хороший подход для создания хорошей архитектуры, которая могла бы вынести эту проблему?
Что делать, если директива может проверить, была ли она в данный момент видимой (как в текущем видовом экране, так и, например, не в скрытом родителе и display: none
.
Я привел пример использования такой директивы, но хотел бы, чтобы некоторые указатели на то, как это можно реализовать.
Директива может принимать выражение, указывающее на функцию обратного вызова, которая должна быть запущена, когда компонент виден, и в пределах 200 пикселей окна просмотра.
Примечание. Ниже приведен вымышленный пример без хорошего использования.
<!-- Check if the device has some feature, for example touch, and hide content based on results -->
<div ng-show="current.device.touch">
<users lazyload="{userList: dataservice.getUsers | filter:search}" treshold="200px" placeholder="emptyUserlist">
</users>
</div>
Насколько это хорошо/плохо из идеи?
Служба данных - это более абстрактная служба, которая получает свои данные из контейнеров $resource и cache.