【发布时间】:2014-05-18 05:40:12
【问题描述】:
为了缩短帖子,这是我的问题所需的所有信息,所以我制作了一个按钮,在点击时提供 +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"
我不知道如何解决这个问题,我一直在寻找一个小时,所以请,如果您需要更多代码来帮助您找出问题,请立即询问!
再次感谢!
【问题讨论】:
-
问题正是调试器告诉你的。字符串不是函数。您不能将字符串放在期望函数的位置。试试
$scope. upVoteRating = upVoteRating;- JavaScript 函数是一阶的,你可以这样传递它们。
标签: javascript jquery node.js angularjs