在這裏,我試圖發送一個對象$state
並在$stateParams
中檢索它。我認爲我做得很對,也見過很多網站和很多要求這樣做的文章。但是我無法在下一個Controller中使用$stateParams
。
我知道有很多這方面的問題,我經歷了很多。我仍然陷入困境。 有人可以看到我錯了嗎?
$scope.setup = function (ev, item, parent) {
console.log("event", ev);
console.log("item", item);
console.log("parent in clusters", parent);
ev.preventDefault();
if(item!==null){
var path = parent.id + '.' + item.code;
path = path.replace(/\s+/g, '').toUpperCase();;
if (!$(ev.target).closest('a').is('[disabled]')) {
$rootScope.child = item;
$rootScope.parent = parent;
console.log("parent", $rootScope.parent);
$state.go('setup', {
targetYear: $scope.targetYear,
path: path
// ,'child': item,
// 'parent': parent
});
}
}
else {
console.log("trade in trade", parent);
console.log("items from scope", $scope.items);
var path = parent.name.trim();
path = path.replace(/\s+/g, '').toUpperCase();
var totalTradesInOverview = $scope.items;
console.log("parent", $rootScope.parent);
$state.go('setup', {
targetYear: $scope.targetYear,
path: path,
params: totalTradesInOverview
});
}
};
我想我應該直接在$stateParams
在另一個控制器。我錯了嗎?
下面是我的國家聲明的一部分,如果該事項很多:
由國家明確預期module.config(function ($stateProvider) {
$stateProvider.state('setup', {
url: '/setup/:targetYear/:path',
views: {
"[email protected]": {
controller: 'TargetsSetupController as model',
templateUrl: 'app/targets/setup/setup.tpl.html',
// params: params
//I tried even this passing that variable in params like // params: totalTradesInOverview
},
"[email protected]": {
controller: 'AController',
templateUrl: 'comments.tpl.html'
}
}
}
});
});
什麼是您的控制檯錯誤?您是否還有一個github回購協議,用於完整查看您的代碼? –
首先確認。執行$ state.go()時,您正在設置變量。 –
您是否使用$ stateParams獲取「params」值或「params」,「path」和「targetYear」值 –