今天在开发的过程中,发现$stateParams 无法获取控制器传递过来的参数,代码内容正确,但是就是目标页面$stateParams 对象为空。
问题原因:
问题原因:
在状态控制器中,$stateParams对象只包含那些在状态中定义的参数,因此你不能访问在其他状态或者祖先状态中定义的参数。
解决办法:
1、定义路由
2、控制前跳转到目标页面,并传递参数
3、在目标页面获取参数
解决办法:
1、定义路由
//地图搜索公司列表 .state('jobMapList', { url: '/job/jobMapList/:lng/:lat', templateUrl: 'templates/job/jobMapList.html', controller: "jobMapListController" })
2、控制前跳转到目标页面,并传递参数
$state.go("jobMapList",{ lng:_lng, lat:_lat });
3、在目标页面获取参数
function init(){ //初始化查询条件对象 $scope.queryCondition={ "lng":$stateParams.lng, "lat":$stateParams.lat }; jobMapListService.findJobByMap($scope); }