我使用带有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;
});
但这不是
答案 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;