我有可重用的小部件,它有自己的状态.在我的情况下,状态包括搜索栏(2)的内容,一个或多个选择框(1),以及用户可以选择当前活动元素(3)的树.
我想实现locationManager,它可以做两件事:
>设置$location并根据窗口小部件的状态更改URL
>读取输入的URL并将小部件设置为正确的状态
我想知道是否存在某种针对此问题的角度应用特定的设计模式.我的想法是使用事件来传达状态:每当窗口小部件的状态发生变化时,它应该发出将由位置管理器捕获的事件,并相应地设置URL.有没有更好的办法?
UPD:问题主要是关于AngularJS 1,但Angular 2解决方案也很受欢迎.
解决方法:
您需要使用来自服务ActivatedRoute的queryParams.
Update query params in the browser url