所以我认为这很容易但是我显然做错了,无论我做什么我都能得到" personId"当我改变状态时,在控制器中的变量。我可以在URL中看到它,所以你认为它可以,但它总是未定义的。希望有人可以看到错误 - 这是州的配置
$stateProvider.state('quickScreen', {
params: {
hideAjaxContainer: "true",
personId: {}
},
//url: "/Components/QuickScreen/{personId}",
url: "/Components/QuickScreen/:personId",
views: {
angularContentContainer: {
templateUrl: "/Components/QuickScreen/index.html",
controller: "quickScreenController",
resolve: {
name: function ($stateParams) {
return $stateParams.personId;
}
}
}
}
});
这是控制器
var quickScreenController = function ($scope, $stateParams) {
console.log("quickScreenController loaded: " + $stateParams.personId);
};
可能是因为我的网址最终看起来像这样" http://localhost:1790/Search2#/Components/QuickScreen/5a114c4f-44c2-477a-97e5-a19500995016"它不起作用,但我不知道。谢谢......
答案 0 :(得分:0)
我的语法没有看到任何不良内容。更重要的是,我创建了working plunker here,这是正常工作
$stateProvider.state('quickScreen', {
params: {
hideAjaxContainer: "true",
personId: {}
},
//url: "/Components/QuickScreen/{personId}",
url: "/Components/QuickScreen/:personId",
views: {
angularContentContainer: {
templateUrl: 'tpl.html',
//templateUrl: "/Components/QuickScreen/index.html",
controller: "quickScreenController",
resolve: {
name: function($stateParams) {
return $stateParams.personId;
}
}
}
}
});
检查here。 如果这仍然无济于事,请更新该plunker以重现该问题...准备协助......