gpt4 book ai didi

html - 喜欢和不喜欢用户对产品的评论

转载 作者:搜寻专家 更新时间:2023-10-31 23:20:29 24 4
gpt4 key购买 nike

用户模式:

var UserSchema = new Schema({
review_likes : [{type:String}],
review_dislikes : [{type:String}]
});

审核架构:

var ReviewSchema = new Schema({
productID:{type: String, required: true},
numoflikes:{type:Number, required:true},
numofdislikes:{type:Number, required:true}
})

审核控制者:

       .controller('reviewsController', function($route, reviewsFactory, $scope, $routeParams){
var that=this;
reviewid = $routeParams.id;
productID = $routeParams.id;
likestats = false;
dislikestats = false;


/* console.log('controller',questionid)
*/ var getallReviews = function(){
reviewsFactory.getReviews(function(data){
that.reviews = data;
})
}
getallReviews();


var getProReviews = function(productID){
reviewsFactory.getProductReviews(productID, function(data){
that.proreviews = data;
})
}
getProReviews(productID);
$scope.pID=productID;

this.addReview = function(){
reviewsFactory.addReview(this.newReview, function(message){
getallReviews();
console.log(message)
that.messages = message
})
this.newReview = {};
}

var getthatReview = function(){
reviewsFactory.getthatReview(reviewid, function(data){
/* console.log('[CONTROLLER] That Question:',data);
*/ that.review = data;
})
}
getthatReview();



this.getThatReview = function(){
reviewsFactory.getthatReview(reviewid, function(data){
/* console.log('[CONTROLLER] That Question:',data);*/
reviewsFactory.checkRevLike(reviewid, function(response){

if(response == "liked"){
data.likestats = true;
}
else{
data.likestats = false;
}
angular.forEach(that.proreviews,function(e){ if(e._id == reviewid)e.likestats = data.likestats; });

angular.forEach(that.reviews,function(e){ if(e._id == reviewid)e.likestats = data.likestats; });


})
that.review = data;
})
}
this.addlikereview = function(rId){
reviewid = rId;

reviewsFactory.addRevLike(rId, function(response){
that.getThatReview();
})
}

this.removelikereview = function(rId){
reviewid = rId;

reviewsFactory.removeRevLike(rId, function(response){
that.getThatReview();
})
}

this.checklikereview = function(review){
reviewid = review._id;
reviewsFactory.checkRevLike(review._id, function(response){
if(response == "liked"){
review.likestats = true;
}
else{
review.likestats = false;
}
})
}


this.getThatReview2 = function(){
reviewsFactory.getthatReview(reviewid, function(data){
/* console.log('[CONTROLLER] That Question:',data);*/
reviewsFactory.checkRevDisLike(reviewid, function(response){

if(response == "disliked"){
data.dislikestats = true;
}
else{
data.dislikestats = false;
}
angular.forEach(that.proreviews,function(e){ if(e._id == reviewid)e.dislikestats = data.dislikestats; });

angular.forEach(that.reviews,function(e){ if(e._id == reviewid)e.dislikestats = data.dislikestats; });


})
that.review = data;
})
}
this.adddislikereview = function(rId){
reviewid = rId;

reviewsFactory.addRevDisLike(rId, function(response){
that.getThatReview2();
})
}
this.removedislikereview = function(rId){
reviewid = rId;

reviewsFactory.removeRevDisLike(rId, function(response){
that.getThatReview2();
})
}

this.checkdislikereview = function(review){
reviewid = review._id;
reviewsFactory.checkRevDisLike(review._id, function(response){
if(response == "disliked"){
review.dislikestats = true;
}
else{
review.dislikestats = false;
}
})
}


})

html:

 <div ng-controller="reviewsController as revCtrl ">
<div ng-repeat="review in revCtrl.proreviews>
<div ng-init="revCtrl.checklikereview(review)"> LIKE
<div ng-if="review.likestats" ng-href="#" ng-click="revCtrl.removelikereview(review._id)" class="glyphicon glyphicon-star ">
</div>
<div ng-if="!review.likestats" ng-href="#" ng-click="revCtrl.addlikereview(review._id)" class="glyphicon glyphicon-star-empty ">
</div>
<span ng-bind="review.numoflikes"></span>
</div>
<div ng-init="revCtrl.checkdislikereview(review)"> DISLIKE
<div ng-if="review.dislikestats" ng-href="#" ng-click="revCtrl.removedislikereview(review._id)" class="glyphicon glyphicon-star ">
</div>
<div ng-if="!review.dislikestats" ng-href="#" ng-click="revCtrl.adddislikereview(review._id)" class="glyphicon glyphicon-star-empty ">
</div>
<span ng-bind="review.numofdislikes"></span>
</div>
</div>
</div>

我正在尝试喜欢/不喜欢问题评论列表中的评论

我想将 1 个喜欢/不喜欢限制为 1 个用户的评论

这里出现的问题是,在 html 的显示中,glyphicon 立即成功更改,但 ng-bind="review.numoflikes"和 ng-bind="review.numofdislikes"的跨度不会立即更新,而是在页面刷新时更新

数据库更新成功

另外,如果你能帮我限制用户只喜欢或不喜欢,那就太好了。谢谢。

最佳答案

找到了解决方案..只需尝试一次

this.getThatReview = function(){
reviewsFactory.getthatReview(reviewid, function(data){
/* console.log('[CONTROLLER] That Question:',data);*/
reviewsFactory.checkRevLike(reviewid, function(response){

if(response == "liked"){
data.likestats = true;
}
else{
data.likestats = false;
}
angular.forEach(that.proreviews,function(e){ if(e._id == reviewid)e.likestats = data.likestats; });

angular.forEach(that.reviews,function(e){ if(e._id == reviewid)e.likestats = data.likestats; });

angular.forEach(that.proreviews,function(e){ if(e._id == reviewid)e.numoflikes = data.numoflikes; });

angular.forEach(that.reviews,function(e){ if(e._id == reviewid)e.numoflikes = data.numoflikes; });


})
that.review = data;
})
}


this.getThatReview2 = function(){
reviewsFactory.getthatReview(reviewid, function(data){
/* console.log('[CONTROLLER] That Question:',data);*/
reviewsFactory.checkRevDisLike(reviewid, function(response){

if(response == "disliked"){
data.dislikestats = true;
}
else{
data.dislikestats = false;
}
angular.forEach(that.proreviews,function(e){ if(e._id == reviewid)e.dislikestats = data.dislikestats; });

angular.forEach(that.reviews,function(e){ if(e._id == reviewid)e.dislikestats = data.dislikestats; });

angular.forEach(that.proreviews,function(e){ if(e._id == reviewid)e.numofdislikes = data.numofdislikes; });

angular.forEach(that.reviews,function(e){ if(e._id == reviewid)e.numofdislikes = data.numofdislikes; });


})
that.review = data;
})
}

关于html - 喜欢和不喜欢用户对产品的评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38238401/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com