gpt4 book ai didi

javascript - AngularJS - ngClick 上未调用 Controller 方法 - 无错误

转载 作者:行者123 更新时间:2023-12-03 03:44:32 25 4
gpt4 key购买 nike

如果单击按钮,我会尝试调用方法removePlayer(playerId)。但是,该方法不会被调用,或者至少它内部的语句不会触发,因为我在顶部放置了一个 console.log() 语句。

控制台是空的,所以我真的一无所知。这是我的代码:

Controller :

function appController($scope) {
$scope.players = [];
var playercount = 0;

$scope.addPlayer = function(playername) {

$scope.players.push({name: playername, score: 0, id: playercount});
playercount++;
}

function getIndexOfPlayerWithId(playerId) {
for (var i = $scope.players.length - 1; i > -1; i--) {
if ($scope.players[i].id == playerId)
return i;
}
}

$scope.removePlayer = function(playerId) {
console.log("remove");
var index = getIndexOfPlayerWithId(playerId);
$scope.players.slice(index, 1);
}
}
appController.$inject = ['$scope'];

HTML:

...
<table id="players">
<tr ng-repeat="player in players">
<td>{{player.name}}</td>
<td>{{player.score}}</td>
<td><button ng-click="removePlayer({{player.id}})">Remove</button></td>
</tr>
</table>
...

最佳答案

您不应在 ng-click 表达式中使用大括号 ( {{ }} )。你应该写:

<button ng-click="removePlayer(player.id)">Remove</button>

关于javascript - AngularJS - ngClick 上未调用 Controller 方法 - 无错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13296169/

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