避免在使用 UI 路由器更改 URL 时重新加载页面



我正在使用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()调用时重新加载

使用版本 0.2.12

: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版本开始不再存在。

请参阅所有版本。

相关内容

  • 没有找到相关文章

最新更新