Restangular - 增加和更新值

时间:2015-08-23 14:21:49

标签: javascript angularjs node.js mean restangular

我使用带有MEAN堆栈的Restangular,我的api在localhost:3000上运行。

我想增加观点'每次加载页面。 目前我正在获取对象并将其设置为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;
});

但这不是

2 个答案:

答案 0 :(得分: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;
});

答案 1 :(得分:0)

有时MEAN无法处理我遇到的增量运算符。 所以你可以尝试

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