我使用的UI路由器使用
$state.go()
傳遞對象到另一個國家,而控制器但是對於$ stateParams對象的console.log被顯示爲未定義到控制器後不確定。該對象由x和y座標組成,它們是0到20之間的簡單整數值。當我console.log中的userData在EnterCtrl
中時,我得到正確的變量,所以我認爲正確的信息已經發送。
我經歷了很多例子看着這裏嘗試了很多的選擇,但我不能得到它的工作。我怎樣才能獲得$stateParams
由CanvasCtrl
EnterCtrl
可以看出通行證使用該對象被傳遞給$state.go
myMap.controller('EnterCtrl',['$scope', '$state', function EnterCtrl($scope,$state){
$scope.formData = {
x: 0,
y: 0
};
var userData = $scope.formData;
// console.log(userData);
$scope.goToAnswer = function(){
console.log(userData);
$state.go('answer', {coor: userData}) ;
};
}]);
應答狀態的用戶數據對象。
var answerState = {
name: 'answer',
url: '/answer/:coor',
templateUrl: 'partials/answer.html',
controller: 'CanvasCtrl',
params: {coor: null}
};
接收stateParams的控制器。
myMap.controller('CanvasCtrl', ['$scope','$state','$stateParams',function CanvasCtrl($scope,$state,$stateParams){
var userData = $stateParams.coor;
// var userDataY = $stateParams.coor.y;
//var userDataX = $stateParams.coor.y;
console.log(userData);
}]);
https://plnkr.co/edit/lwP7DGkwHl2ZWWegazyv?p=preview
你能分享ui路由器版本嗎? – puemos
你可以添加一個運動員嗎? –
@clever_bassi我剛剛在那裏添加了它。 –