2015-08-23 2 views
0

Я использую Restangular со стеком MEAN, мой api работает на localhost: 3000.Restangular - Приращение и обновление значения

Я хочу увеличивать 'виды' каждый раз, когда страница загружается. В настоящее время я получаю объект и устанавливаю его в значение 1000, и это отлично работает, но когда я пытаюсь его увеличить, он не работает.

angular.module('clientApp').controller('MovieViewCtrl', function ($scope, $routeParams, Movie) { 
    $scope.$on('$viewContentLoaded', function() { 
     var passReq = Movie.one($routeParams.id); 
     passReq.views = 1000; 
     passReq.put(); 
    }); 
    $scope.viewMovie = true; 
    $scope.movie = Movie.one($routeParams.id).get().$object; 
}); 

^^ Это работает

angular.module('clientApp').controller('MovieViewCtrl', function ($scope, $routeParams, Movie) { 
    $scope.$on('$viewContentLoaded', function() { 
     var passReq = Movie.one($routeParams.id); 
     passReq.views++; 
     passReq.put(); 
    }); 
    $scope.viewMovie = true; 
    $scope.movie = Movie.one($routeParams.id).get().$object; 
}); 

Но это не

ответ

0

Вероятно потому, что passReq.views не определен, так что вы не можете увеличивать неопределенную переменную, сделайте следующее:

angular.module('clientApp').controller('MovieViewCtrl', function ($scope, $routeParams, Movie) { 
    $scope.$on('$viewContentLoaded', function() { 
     var passReq = Movie.one($routeParams.id); 
     if (passReq.views)   
      passReq.views++; 
     else 
      passReq.views = 1; 
     passReq.put(); 
    }); 
    $scope.viewMovie = true; 
    $scope.movie = Movie.one($routeParams.id).get().$object; 
}); 
+0

Это делает то же самое, как и прежде, вид получает значение NULL – Roemerdt

0

sometime MEAN не может обрабатывать оператор приращения, с которым я столкнулся. так что вы можете попробовать

if(passReq.views) 
    passReq.views += 1; 
+0

Я попытался это раньше, но это также не работает. – Roemerdt

Смежные вопросы