在 angular js 中捕获 URL 中的组件状态的推荐方法是什么
What is the recommended approach of capturing the state of the component in URL in angular js
我有一个可重复使用的小部件,它有自己的状态。在我的例子中,状态由 搜索栏的内容 (2)、 一个或多个 select 框 (1)、以及用户可以选择当前活动元素的 树 (3).
我想实现可以做两件事的 locationManager:
- 设置
$location
并根据小部件的状态更改URL
- 读取输入的 URL 并将小部件设置为适当的状态
我想知道是否有某种特定于 angular 应用程序的设计模式来解决这个问题。我的想法是使用事件来传达状态:每次小部件的状态发生变化时,它都应该发出事件,该事件将被位置管理器捕获,并且 URL 将相应地设置。有没有更好的办法?
UPD:问题主要是关于 AngularJS 1,但是 Angular2 解决方案也很受欢迎。
您需要使用服务 ActivatedRoute 中的 queryParams。
Update query params in the browser url
Make behavior for chnging queryParams
我有一个可重复使用的小部件,它有自己的状态。在我的例子中,状态由 搜索栏的内容 (2)、 一个或多个 select 框 (1)、以及用户可以选择当前活动元素的 树 (3).
我想实现可以做两件事的 locationManager:
- 设置
$location
并根据小部件的状态更改URL - 读取输入的 URL 并将小部件设置为适当的状态
我想知道是否有某种特定于 angular 应用程序的设计模式来解决这个问题。我的想法是使用事件来传达状态:每次小部件的状态发生变化时,它都应该发出事件,该事件将被位置管理器捕获,并且 URL 将相应地设置。有没有更好的办法?
UPD:问题主要是关于 AngularJS 1,但是 Angular2 解决方案也很受欢迎。
您需要使用服务 ActivatedRoute 中的 queryParams。 Update query params in the browser url
Make behavior for chnging queryParams