初學程序員在這裏。在我的控制器構造函數中,我有:如何在AngularJS中顯示玩家轉向?
vm.turnCounter = 0;
vm.turn = getTurn();
function getTurn() {
if (vm.turnCounter % 2 == 0) {
return 'Player 1';
} else {
return 'Player 2';
}
}
vm是我的捕獲變量,我沒有使用$ scope。我試圖用{{ctrl.turn}}
顯示當前轉角,但到目前爲止vm.turnCounter
的變化對{{ctrl.turn}}
沒有影響,它總是顯示「Player 1」。我在這裏錯過了一些Angular數據綁定概念嗎?謝謝。
這裏是整個控制器,我省略了超長getBoards()
,因爲它只是一個多頭排列我會在火力點:
(function() {
angular
.module('APP')
.controller('TicTacToeCtrl', TicTacToeCtrl);
function TicTacToeCtrl() {
var vm = this;
vm.addPiece = addPiece;
vm.boards = getBoards();
vm.turnCounter = 0; //encapsulate this
vm.turn = 'Player 1';
vm.getTurn = getTurn();
function addPiece(obj) {
if (obj.p1 || obj.p2)
obj.p1 = true;
vm.turnCounter++;
}
function getTurn() {
if (vm.turnCounter % 2 == 0) {
return 'Player 1';
} else {
return 'Player 2';
}
}
}
})();
那麼,如果你希望你的視圖能夠訪問它,你需要使用$ scope。發佈您的整個控制器代碼 – Ronnie 2015-03-31 17:36:29
謝謝,我剛剛發佈了我的完整控制器。 – 2paws 2015-03-31 17:43:03
什麼是'vm',爲什麼你不想使用$ scope? – Ronnie 2015-03-31 17:54:44