如何解决使用 stateProvider 进行路由时,如何在 AngularJS SPA 上获取 URL 参数
例如,在下面代码的最后一个状态中,我想获取“category”URL 参数的值,以便我可以使用它从数据库中检索一些
var app = angular.module("myApp",["ui.router"]);
app.config(function($stateProvider,$urlRouterProvider){
$urlRouterProvider.otherwise("/");
$stateProvider
.state("main",{
url: "/",views: {
"slider": {
templateUrl: "slider.html"
},"departments": {
templateUrl: "departments.html"
},"brands": {
templateUrl: "brands.html"
}
}
})
.state("cart",{
url: "/cart",views: {
"cart": {
templateUrl: "../account/cart.php"
}
}
})
.state("department",{
url: "/department/:category",views: {
"department": {
templateUrl: "department.php"
}
}
});
});
解决方法
创建一个控制器,传递 stateParams 并在最后一个状态的视图中实例化控制器
.state("department",{
url: "/department/:category",views: {
"department": {
templateUrl: "department.php",controller: "myController"
}
}
});
});
app.controller('myController',function($stateParams) {
var param = $stateParams.category;
document.getElementById("category").value = param;
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。