0

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

2 回答 2

1

我认为你应该改变你的方法。阅读指令并编写指令apply-isotope将同位素应用于它所使用的标签的子代,然后创建类似的内容:

<tag1 apply-isotope>
  </tag2 ng-repeat="card in cards">
    ...
  </tag2>
</tag1>
于 2013-07-23T09:30:06.320 回答
0

像这样试试。

$http({method: 'GET',
   url: '/web/main/json',
   **headers: { "Content-Type": "application/json; charset=UTF-8"}**
   }).success(){}).error(function () {});
于 2013-08-06T08:41:44.377 回答