我对ng-show有个令人沮丧的问题,那就是它不能与功能同步工作,就像它被完全忽略一样。我试图在ng-repeat元素中显示按钮,它基于来自控制器的函数返回true/false。在控制器Angular ng-show与功能不同步
功能代码:
$scope.isRated = function(reservation){
var reservationID = reservation.id;
var guestEmail = $rootScope.USER.email;
var json = JSON.stringify({
"reservationID": reservationID,
"guestEmail": guestEmail.toString(),
"venueRating": $scope.foodRating,
"restaurantRating":$scope.restaurantRating,
"serviceRating":$scope.serviceRating
});
var url = "http://localhost:9900/api/reservation/isRated";
$.ajax(
{
type: 'POST',
url: url,
contentType: "application/json",
data : json,
success: function (response) {
// alert(response + " " + reservationID);
return response;
},
error: function (err) {
console.log(err);
}
}
);
HTML格在它应该出现:
<p>{{USER.name}}</p>
<div class="row" ng-init="loadData()">
<div class="col-md-4">
<label>Passed reservations</label><br/>
<div ng-repeat="x in restaurantHistory track by x.id">
{{x.id}} {{x.restaurant.name}} <button ng-show="isRated(x)" ng-click="rateReservation(x)" class="btn btn-link">Rate</button>
<hr>
</div>
<hr>
<a href="#advanced">Advanced settings</a>
<br/>
</div>
</div>
功能工作正常,返回布尔通缉,但我不能设法找到一种方法将其与html中的按钮元素进行连接。我尝试了其他问题上的一切,但迄今为止没有运气。没有报告的错误,它只是不工作,因为它应该。
非常感谢,解决了我遇到的一个问题! – Lupus