データがサーバーから返される前に、HTML にちらつきが発生する Angularjs の問題があります。
この問題を示すビデオを次に示します: 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を操作しないように何度も聞いています。私の質問は、ディレクティブを使用してこれを達成するにはどうすればよいですか? つまり、すべてのコンテンツがサーバーから読み込まれるまで、ディレクティブが関連付けられている要素を非表示にするにはどうすればよいでしょうか?