$stateParams 获取参数失败

今天在开发的过程中,发现$stateParams 无法获取控制器传递过来的参数,代码内容正确,但是就是目标页面$stateParams 对象为空。


问题原因:
在状态控制器中,$stateParams对象只包含那些在状态中定义的参数,因此你不能访问在其他状态或者祖先状态中定义的参数。


解决办法:


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

猜你喜欢

转载自hbiao68.iteye.com/blog/2366734