gpt4 book ai didi

javascript - $stateParams 在传递给 Controller ​​后未定义

转载 作者:行者123 更新时间:2023-12-03 04:31:11 24 4
gpt4 key购买 nike

我正在使用 ui-router 将对象传递到另一个状态和 Controller ,使用

$state.go()

但是 $stateParams 对象的 console.log 显示为未定义。该对象由 x 和 y 坐标组成,它们是 0 到 20 之间的简单整数值。当我在 EnterCtrl 中 console.log userData 时,我得到了正确的变量,因此我认为正确的信息已被获取。发送。

我已经浏览了这里的许多示例并尝试了许多选项,但我无法让它工作。如何让 $stateParamsCanvasCtrl

看到

EnterCtrl 使用 $state.go 传递 userData 对象

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}) ;
};

}]);

Answer 对象被传递到的状态。

var answerState = {
name: 'answer',
url: '/answer/:coor',
templateUrl: 'partials/answer.html',
controller: 'CanvasCtrl',
params: {coor: null}
};

接收stateParams的 Controller 。

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

最佳答案

我解决了您的问题here 。基本上,我添加了 JSON.stringify 在发送对象之前将其转换为 json,否则它将打印为 [object Object]

关于javascript - $stateParams 在传递给 Controller ​​后未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43480038/

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