我用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);
});
答案 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 () {});