有没有办法在angular.js中确定是否存在url查询参数?

Kin*_*rog 1 javascript angularjs

在角度路由中,您可以将url参数解析为$ routeParams.但是,我需要知道什么是查看它们是否存在的最佳方式.

例如,我有几个$routeParams来自URL的不同部分,但是,我想知道的是是否存在任何url参数(如果?存在和参数之后).我明白了,我可以只搜索一下?但是想知道角度内是否存在某种方式.

这是我的代码:

 $routeProvider.when('/sports/:sport_id/:args?', 
Run Code Online (Sandbox Code Playgroud)

sport_id和所有的args将合并在$ routeParams中.但是我只是想知道args是否存在.(查询参数)

PSL*_*PSL 7

您可以注入$routeParams并查找对象中是否存在任何属性.

例如: var hasParams = Boolean(Object.keys($routeParams).length);

你不需要这个Boolean(部分因为0无论如何都是假的,但只是更明确.

如果仅查找查询字符串参数,您可以只注入$location服务并使用$location.search()它将提供具有查询字符串参数的对象作为对象上的键值对.