1
以下代碼取自Code Academy的AngularJS課程。在第一課中,給用戶提供了「喜歡」或「不喜歡」評分選項。一旦用戶點擊「喜歡」按鈕,表決就會上升,同樣,用戶點擊「不喜歡」按鈕將投票添加到負數。但是,代碼中沒有辦法限制用戶僅投票一次。有沒有辦法限制用戶只能使用AngularJS投票一次?有沒有辦法在AngularJs中僅投一次或多次投票?
HTML代碼
<div class="rating">
<p class="likes" ng-click="plusOne($index)">+{{product.likes}}</p>
<p class="dislikes" ng-click="minusOne($index)">-{{product.dislikes}}</p>
</div>
AngularJS代碼
app.controller('MainController', ['$scope',
function($scope) {
$scope.title = 'Top Sellers in Books in this Great City';
$scope.promo = 'Our Christmas Promo is on the way!';
$scope.products = [{
name: 'The Book of Trees',
price: 19,
pubdate: new Date('2014', '03', '08'),
cover: 'img/the-book-of-trees.jpg',
likes: 0,
dislikes: 0
}, {
name: 'Program or be Programmed',
price: 8,
pubdate: new Date('2013', '08', '01'),
cover: 'img/program-or-be-programmed.jpg',
likes: 0,
dislikes: 0
}, {
name: 'Book1',
price: 8,
pubdate: new Date('2015', '04', '02'),
cover: 'img/..',
likes: 0,
dislikes: 0
}, {
name: 'Book2',
price: 8,
pubdate: new Date('2015', '09', '09'),
cover: 'img/..',
likes: 0,
dislikes: 0
}];
$scope.plusOne = function(index) {
$scope.products[index].likes += 1;
};
$scope.minusOne = function(index) {
$scope.products[index].dislikes += 1;
};
}
]);