有一个有趣的问题,我想看看是否可以使用 Angulars ui 路由器插件来解决。我想做的是通过自定义 url 保存 View 状态。
我已经设置了一个非常基本的示例来看看这是否可能,然后我想对其进行抽象,如果它有效的话!
所以我很简单
$scope.test = false;
然后在页面上有一个 ng-click 可以在 true 和 false 之间切换此测试变量。所以我想看看是否可以保存该状态并将其传入 - 所以说,如果我将其更改为 true,我希望能够保存一个 URL,然后转到该 URL,当我到达该状态时,这然后变量将更改为 true(而不是 Controller 中的默认 false)
所以我想我可以尝试类似的事情
url: "test/{form_id}"
(我假设这就是它的工作原理),但是我可能想要传递的不仅仅是一个 id。最好的情况是我可以完全通过 url 传递一个对象(或者更确切地说引用一个对象,我知道传递一个对象听起来很愚蠢),但否则我假设在任一端我都必须设置一种方法来使字符串id 和解释它的方法。如果我可以将其设计为多态,那就太棒了,但是我的第一步是尝试在较低的级别上做到这一点。
所以我的想法是 - 每次您单击更改时,它都会设置一个变量,然后可以在 url 上设置该变量。如果将 url 提供给登录此应用程序并进入该 View 的人,则 Controller 将从 url 中知道它需要在加载时更改 $scope.test = true 。我想知道是否可以使用 Angular-ui-router 来克服这个问题,如果可以的话,如果有人愿意提供一些指导,我将非常感激。感谢您的阅读!
最佳答案
您无法真正传递引用,因为您正在谈论应用程序的两个不同实例。但是您可以对对象进行 JSON 编码,对其进行 urlencode 并将其传递到 URL。如果太大,则无法在所有浏览器中运行。在许多情况下,拥有更具语义的 URL 也会“更好”,即使用有意义的参数并传递这些参数,而不是传递一个大的旧 blob。
$routeParams 的文档位于 https://docs.angularjs.org/api/ngRoute/service/ $routeParams
关于javascript - Angular ui-router,通过 url/url 变量保存状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28769028/