有没有办法确定角度.js是否存在 url 查询参数

Is there a way to determine in angular.js if there are url query parameters present?

本文关键字:存在 是否 url 查询 参数 js 有没有      更新时间:2023-09-26

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

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

这是我的代码:

 $routeProvider.when('/sports/:sport_id/:args?', 

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

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

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

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

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