ajax でデータを取得したら、それをビューに表示し、ng-repeat で取得した DOM 要素でアイソトープを使用する必要があります。したがって、$scope.$apply(); を呼び出す必要があります。次に、「ダイジェストはすでに進行中です」というエラーが表示されます。
「safe-apply」を使ってみたのですが、スコープのフェーズは常にダイジェストなので、apply は発火しません。必要なのは、ng-repeat の一種のコールバックだけです。
今、私はこのようなものを持っています:
$http({
method: 'GET',
url: '/web/main/json'
}).success(function (data, status, headers, config) {
$scope.cards = data.cards;
/* without this apply my DOM elements would be
invisible (if i use isotope on them)*/
$scope.$apply();
mainFunction(); // here i use isotope on my DOM elements
}).error(function (data, status, headers, config) {
alert("fail " + data);
});