Я использую $ scope. $ Apply для обновления массива объектов после вызова http. Может кто-нибудь сказать мне правильный способ сделать это?

0
$http({
method: 'post',
url :  appContext('ViewAllNotifications.json'),
data :  {"categoryGroupType":"ROLB","isArchived":"N","channelTypeCode":"101","limit":"20","page":$scope.allPageNumber.toString()}
}).success(function(data){
    $scope.$apply(function () {
        angular.forEach(data.notification,function(){
            $scope.notifications.push($(this));
        });
    });
}).error(function(a,b,c){
console.log(a,b,c);
});

Я не уверен, что forEach - правильный способ сделать это. Но в основном я делаю бесконечную прокрутку, и каждый раз, когда полоса прокрутки достигает дна, я загружаю несколько уведомлений и добавляю их в массив $ scope.notifications.

Может ли кто-нибудь сказать мне, что это лучший способ сделать это?

  • 0
    Если вы объявили $scope.notifications до вашего $http -call, вам не нужно делать $scope.$apply Apply, так как все сделано «в угловых»
  • 0
    Я пытался без $ scope. $ Apply также. Это просто не будет обновляться. Я достиг точки, когда массив фактически обновляет значение при проверке журналов консоли. Но это не обновляет вид.
Показать ещё 1 комментарий
Теги:

1 ответ

0
Лучший ответ

Попробуй это,

    $http({
    method: 'post',
    url :  appContext('ViewAllNotifications.json'),
    data :  {"categoryGroupType":"ROLB","isArchived":"N","channelTypeCode":"101","limit":"20","page":$scope.allPageNumber.toString()}
}).success(function(data){
    angular.forEach(data.notification,function(notification){
        $scope.notifications.push(notification);
    });
    $scope.$apply();
}).error(function(a,b,c){
    console.log(a,b,c);
});

На самом деле вам действительно не нужно использовать приложение, но попробуйте его.

  • 0
    Это так же плохо, если ваш код выдает ошибку, угловая не поймает ее. Если он используется как часть цепочки обещаний, он не отклонит обещание. Любые исключения, $apply в функции, переданной в $apply будут пойманы angular.
  • 0
    Чувак ... Ты мужчина! :) Большое спасибо. Можете ли вы сказать мне, почему мы используем, а когда мы не используем $ scope. $ Apply?
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню