在angular route中,您可以将url参数解析为$ routeParams。但是,我需要知道什么是查看它们是否存在的最佳方式。
例如,我从URL的不同部分有几个$routeParams
但是,我想知道的是是否存在任何url参数(如果?存在和参数之后)。我明白了,我可以只搜索一下?但想知道是否有一种角度内的方式。
这是我的代码:
$routeProvider.when('/sports/:sport_id/:args?',
sport_id和所有的args将合并在$ routeParams中。但是我只是想知道args是否存在。 (查询参数)
答案 0 :(得分:7)
您可以注入$routeParams
并查找对象中是否存在任何属性。
ex:var hasParams = Boolean(Object.keys($routeParams).length);
你不需要Boolean(
部分因为0无论如何都是假的,但只是更明确。
如果仅查找查询字符串params,您可以注入$location
服务并使用$location.search()
,它将为对象提供查询字符串参数作为对象上的键值对。