javascript - Controller 不应在 $location.path() 上重新加载

标签 javascript angularjs angular-ui-router

是否有办法在不重新加载 Controller 的情况下更改网址,我正在使用 Angular ui-router 并且我的网址结构类似于 /:param1/data/:param2在某些按钮上单击,我将网址从 demo1/data/demo2 更改为 demo3/data/demo4 使用$location.path('demo3/data/demo4'),这会重新加载 Controller ,因此状态也会丢失。我只想更改 url 而不重新加载 Controller 。

最佳答案

尝试像这样使用 $state.go() :

$state.go('currentStateName', {param1: 'demo3', param2: 'demo4'})

我无法验证,但如果状态保持不变,它不应该重新加载。

要进一步阅读,请查看 TransitionOptions ( 1 )。 $state.go() 的第三个可选参数。它包含一个选项“重新加载”,默认情况下为 false。

[1]: https://ui-router.github.io/ng1/docs/latest/interfaces/transition.transitionoptions.html#reload

关于javascript - Controller 不应在 $location.path() 上重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43849826/

相关文章:

javascript - 在加载状态之前,我需要为 Angular js中的每个状态添加角色?

javascript - 无法理解 JavaScript 递归调用输出

javascript - jQuery UI Datepicker - 防止点击日期时刷新

javascript - 在iframe嵌入上,点击显示div或计数器开始

javascript - 每次调用 subview 时都会实例化父 Controller

javascript - JS 中的 Angular2 组件通信

css - 背景图片自行调整大小

javascript - 单击按钮获取新的 lorem picsum

javascript - Angular-ui-路由器 : Got error when assign number to resolve's property

javascript - 在 Angular js 中使用单个 templateUrl 表示多个状态是一个好习惯吗?