309/5000 你好, 这是我的第一篇文章。 我正在用AngularJS开发残酷的TicTacToe。 但是单击按钮时,无法更改按钮的图像。 游戏还没有结束,我只需要帮助。 抱歉,英语为“ MACCHERONICO”(意大利面)。 谢谢大家。
app.controller('gameController', function ($scope, $routeParams) {
$scope.p1name = $routeParams.p1name;
$scope.p2name = $routeParams.p2name;
$scope.griglia = ['', '', '', '', '', '', '', '', ''];
$scope.player = $scope.p1name;
$scope.turno = 0;
var img_array = ['imm\broccolo-sorridente-alimenti-verdure-1138234.png',
'imm\pomodoro-sorridente-alimenti-verdure-1130307.png'];
$scope.img;
$scope.riempi = function (a) {
console.log("entrati in riempi casella " + a);
if ($scope.turno == 0) {
$scope.griglia[a - 1] = "x";
} else {
$scope.griglia[a - 1] = "o";
}
$scope.aggiornaimg();
$scope.cambiaturno();
};
$scope.cambiaturno = function () {
console.log("entrati in cambiaturno");
if ($scope.turno == 0) {
$scope.turno = 1;
$scope.player = $scope.p1name;
} else {
$scope.turno = 0;
$scope.player = $scope.p2name;
}
};
$scope.aggiornaimg = function () {
console.log("entrati in aggiornaimg");
for (let index = 0; index < 9; index++) {
if ($scope.griglia[index] == "x") {
console.log("entrati in aggiornaimg primo if");
document.getElementById("i" + index + 1).currentSrc = img_array[0];
} else if ($scope.griglia[index] == "o") {
document.getElementById("i" + index + 1).currentSrc = img_array[1];
}
}
};
我的HTML
<table >
<button type="button" ng-click=(riempi(1))>
<img ng-src="{{img}}" id="i1">
</button>
</td>
<td>
<button type="button" ng-click=(riempi(2))>
<img src="" id="i2"> </button>
</td>
....
</table>
答案 0 :(得分:0)
我认为您的问题是"i" + index + 1
不能生成您想要的ID:
for (let index = 0; index < 9; index++) {
console.log("i" + index + 1);
}
欢迎使用JS的美丽之处,您需要的是:
for (let index = 0; index < 9; index++) {
console.log("i" + (index + 1));
}
这样,总和在连接之前执行。