如何在AngularJS中访问服务中的URL参数而不是控制器?

时间:2013-12-27 03:57:54

标签: angularjs

正如问题所述,找出查询参数在控制器之外的URL中的最佳方法是什么?我可以看到有一个$ routeParams和$ location服务似乎是你可以附加到控制器的服务,但是我想这样做,当应用程序首次初始化时,服务从服务中获取数据以初始化其内容。如何在不通过控制器的情况下访问参数?这不是一个好习惯吗?

根据我的理解,服务首先初始化,这就是为什么我希望能够在创建控制器之前获取数据。

1 个答案:

答案 0 :(得分:0)

您可以将角度服务($location是一个)注入任何Angular的组件 - 服务,控制器,指令等,并将查询字符串作为具有$location.search()的对象访问。

Angular控制器仅用于数据绑定,不应该关注其他任何事情。你听起来好像担心在控制器之外做事情,但事实恰恰相反。很多人将控制器用于不适合的事情。

您的问题似乎也与您的问题相关,即服务是单件,并且在第一次需要时会创建它们的单个实例。换句话说,如果您从未注入过您的某项服务,则没有它的实例。