使用同位素和AJAX进行AngularJS ng-repeat

时间:2013-07-23 08:59:25

标签: ajax angularjs jquery-isotope

我用ajax获取数据,然后我需要在我的视图中显示它并在DOM元素上使用同位素,这是我用ng-repeat得到的。所以,我需要调用$ scope。$ 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);
    });

2 个答案:

答案 0 :(得分:1)

我认为你应该改变你的做法。阅读指令和写指令 apply-isotope ,将同位素应用于其使用的标记的子项,然后创建类似的东西:

<tag1 apply-isotope>
  </tag2 ng-repeat="card in cards">
    ...
  </tag2>
</tag1>

答案 1 :(得分:0)

试试这样。

$http({method: 'GET',
   url: '/web/main/json',
   **headers: { "Content-Type": "application/json; charset=UTF-8"}**
   }).success(){}).error(function () {});