У меня проблема в Angularjs, где в моем HTML есть мерцание, прежде чем мои данные вернутся с сервера.
Вот видео, демонстрирующее проблему: http://youtu.be/husTG3dMFOM - обратите внимание на # | и серая область справа.
Я пробовал ngCloak без каких-либо успехов (хотя ngCloak не позволяет появляться в скобках как обещано), и мне интересно, как лучше всего скрыть контент, пока HTML не будет заполнен Angular.
Я получил его для работы с этим кодом в контроллере:
var caseCtrl = function($scope, $http, $routeParams) {
$('#caseWrap').hide(); // hides when triggered using jQuery
var id = $routeParams.caseId;
$http({method: 'GET', url: '/v1/cases/' + id}).
success(function(data, status, headers, config) {
$scope.caseData = data;
$('#caseWrap').show(); // shows using jQuery after server returns data
}).
error(function(data, status, headers, config) {
console.log('getCase Error', arguments);
});
}
... но я снова и снова слышал, чтобы не манипулировать DOM с контроллера. Мой вопрос: как я могу достичь этого, используя директиву? Другими словами, как я могу скрыть элемент, к которому прикреплена директива, пока все содержимое не будет загружено с сервера?