I ui-Router bin mit einem Objekt in einem anderen Zustand und Controller passieren mit
$state.go()
Aber die console.log für das $ stateParams Objekt wird als undefiniert zeigt nach oben. Das Objekt besteht aus x- und y-Koordinaten, die einfache ganzzahlige Werte zwischen 0 und 20 sind. Wenn ich die userData in der EnterCtrl
console.log bekomme, bekomme ich die richtigen Variablen, also nehme ich an, die richtigen Informationen wurden gesendet.
Ich habe hier viele Beispiele angeschaut und viele Möglichkeiten ausprobiert, aber ich kann es nicht zum Laufen bringen. Wie kann ich die $stateParams
durch die CanvasCtrl
EnterCtrl
Userdata-Objekt $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}) ;
};
}]);
Antwort Staat mit Pässen zu sehen, die das Objekt wird übergeben.
var answerState = {
name: 'answer',
url: '/answer/:coor',
templateUrl: 'partials/answer.html',
controller: 'CanvasCtrl',
params: {coor: null}
};
Der Controller, der den StatusParams erhält.
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
können Sie die UI-Router-Version teilen? – puemos
Können Sie einen Plünderer hinzufügen? –
@clever_bassi Ich habe es gerade dort hinzugefügt. –