为了缩短帖子,这是我的问题所需的所有信息,所以我点击了一个按钮给出了+1等级和一个-1等级的按钮,这是它的HTML代码,
<p>
<strong>Rating: </strong> {{ album.rating }}
<button class="btn btn-small" ng-click="upVoteRating(album)">+</button>
<button class="btn btn-small" ng-click="downVoteRating(album)">-</button>
</p>
没有什么不寻常的,继承了使用范围和按钮功能的angularjs代码。
$scope. upVoteRating = 'upVoteRating';
$scope. downVoteRating = 'downVoteRating';
function upVoteRating(album) {
album.rating++;
}
function downVoteRating(album) {
if (album.rating > 0)
album.rating--;
}
因此我的猜测对代码没有问题,但每次我点击页面上的按钮时,它都会在控制台上显示:
"TypeError: string is not a function
at http://localhost:1234/lib/angular/angular.min.js:168:37
at http://localhost:1234/lib/angular/angular.min.js:186:167
at g.$eval (http://localhost:1234/lib/angular/angular.min.js:104:308)
at g.$apply (http://localhost:1234/lib/angular/angular.min.js:105:48)
at HTMLButtonElement.o.event.dispatch (http://localhost:1234/lib/jquery-2.1.0.min.js:3:6055)
at HTMLButtonElement.r.handle (http://localhost:1234/lib/jquery-2.1.0.min.js:3:2830) angular.js:9507"
我不知道如何解决此问题,我一直在寻找一个小时,所以,如果您需要更多代码来帮助您找到问题,请立即询问!
再次感谢!
答案 0 :(得分:3)
您可以在此处将其设置为字符串:
$scope.upVoteRating = 'upVoteRating';
并尝试将其称为此处的函数
<button class="btn btn-small" ng-click="upVoteRating(album)">+</button>
删除控制器中的引号,你应该是好的:
$scope.upVoteRating = upVoteRating;
$scope.downVoteRating = downVoteRating;