我对角度很新,而我现在遇到的是我无法理解的东西。
我使用$ routeParams在url上的页面之间传递数据。在第一页我在url中有这样的数据:
localhost/server/documentList/?agentId=18& date=Tue%20Nov%2001%202016%2000:00:00%20GMT%2B0100%20(Central%20Europe%20Standard%20Time)
在接收页面中,我正在获取如下数据:
$scope.filter.date= $routeParams.date;
$scope.filter.agentId= $routeParams.agentId;
并使用获取的数据来调用服务器。如果网址是
localhost/server/documentList/?agentId=undefined&date=undefined
数据被正确解释为未定义,因此我收到null。
问题:
如果从这个页面转到另一个,然后使用浏览器上一个按钮返回,这次的数据将被获取为字符串,所以我将有agentId =" undefined"而不是agentId = undefined。与日期相同,我将获取日期作为字符串而不是日期。
有人可以解释一下吗?并给我一个合适的解决方案?
修改
我使用此代码到达第一页
$location.path(path).search(
{
"date": $scope.filter.date,
"agentId": $scope.filter.agentId
});
因此,如果未定义$ scope.filter.date,则将其作为undefined传递。我是以错误的方式使用它吗?如果$scope.filter.date
未定义,我如何才能在网址中显示日期?