我有一个模型控制器和一个Angular组件,我将在下面显示:
在模型中:
videosModel.get = function(skip, limit){
var results = q.defer();
skip = parseInt(skip) || 0;
limit = parseInt(limit) || 10;
Video.find(function(err, dbVideo) {
if (err){
results.reject(err);
}
results.resolve(dbVideo);
}).skip(skip).limit(limit);
return results.promise;
}
在控制器中:
videos.get = function (req, res) {
var skip = req.query.skip;
var limit = req.query.limit;
var videosData = videoModel.get(skip, limit);
videosData.then(function(data){
var response = {};
response.status='success';
response.data=data;
res.send(response);
}, function(err){
res.send(err);
});
};
和Angular:
getvideos(){
var str = 'http://localhost:27017/videos?sessionId='+ this.sessionId;
this.http.get(str).subscribe(data => {console.log(data);
});
}
在模型中,get函数中有两个变量," skip"和"限制"我需要将参数传递给那些。
上下文是在数据库中有50个视频,但我们一次只能显示10个视频,因此http调用一次只能显示10个视频,因此每次调用后参数将增加10。但是现在我没有传递任何参数。
skip = parseInt(skip)|| 0;
如你所见,参数不是必需的,因为我们有一个或运算符,所以现在在我当前的http角度代码中,它默认为0,但我希望这个跳过变量选择parseInt(跳过),但我需要传入一个变量来执行此操作。