我正在使用ui-router
在我的网络应用程序中导航。
我有一个搜索页面,我希望用户能够保存包含当前搜索字符串的 URL,以便他可以共享它。
要更新每个搜索字符串更改的 URL 而不重新加载页面,我喜欢文档说:
$state.go('.', { searchString: $scope.searchString }, { location: 'replace', notify: false });
但是,根据UI路由器库版本,行为完全不同:(观看浏览器控制台(
使用版本 0.2.10:JSFiddle ui-router 0.2.10
==> 结果是预期的,修改 URL 不会执行任何操作。
使用版本 0.2.11:JSFiddle ui-router 0.2.11
==> 视图控制器在每次$state.go()
调用时重新加载
:JSFiddle ui-router 0.2.12
==> 根本找不到 ui 路由器
使用版本 0.2.13:JSFiddle ui-router 0.2.13+
==> 从 0.2.13 版本开始,视图控制器不会在每次$state.go()
调用时重新加载。但是,当重定向到另一个路径时,搜索视图控制器会重新实例化。
我很困惑。是否有任何ui-router
用户知道这些行为更改。前者是否如预期?还是这是一个错误?
谢谢
是的,他们知道此行为更改,现在在版本 0.2.15 上完全稳定。这以前是一个错误,但从0.2.15
版本开始不再存在。
请参阅所有版本。