【发布时间】:2025-12-04 04:10:02
【问题描述】:
作为问题状态,找出控制器外部 URL 中的查询参数的最佳方法是什么?我可以看到有一个 $routeParams 和 $location 服务似乎是您可以附加到控制器的服务,但我想让它在应用程序首次初始化时,服务从服务中获取数据以初始化其内容。我如何在不通过控制器的情况下访问参数?这不是一个好习惯吗?
据我了解,服务首先初始化,这就是为什么我希望能够在创建控制器之前获取数据。
【问题讨论】:
标签: angularjs
作为问题状态,找出控制器外部 URL 中的查询参数的最佳方法是什么?我可以看到有一个 $routeParams 和 $location 服务似乎是您可以附加到控制器的服务,但我想让它在应用程序首次初始化时,服务从服务中获取数据以初始化其内容。我如何在不通过控制器的情况下访问参数?这不是一个好习惯吗?
据我了解,服务首先初始化,这就是为什么我希望能够在创建控制器之前获取数据。
【问题讨论】:
标签: angularjs
您可以将 Angular 服务($location 是其中之一)注入 Angular 的任何组件 - 服务、控制器、指令等,并使用 $location.search() 将查询字符串作为对象访问。
Angular 控制器仅用于数据绑定,不应该关心其他任何事情。您听起来像是担心在控制器之外做事,但实际上恰恰相反。很多人将控制器用于不该做的事情。
您的问题似乎也与服务是单例相关,并且它们的单个实例将在第一次需要时创建。换句话说,如果您从不注入您的服务之一,就没有它的实例。
【讨论】: