我有一个奇怪的问题,我只是想看看这是否可行。
我正在寻找的是一种在用户使用应用程序时更新网址的方法 - 当他们点击页面上的几个不同的项目时,我希望它几乎“绑定”到我设置的urlParameters。所以我喜欢 -
url: 'app/:mod1/:mod2',
在我的路线中,当用户与页面上的按钮进行交互时,其中2个被绑定到控制器中的范围,让我们说
$scope.mod1 = true;
$scope.mod2 = false;
然后当用户与他们交互时,它会相应地更改URL。因此,如果他们单击按钮并使mod1 = false且mod2 = true,则url将更改为
/app/false/true
这是一个问题 - 我希望能够在不刷新页面的情况下做到这一点(如果它甚至可能在第一时间)。这个想法是这样的,然后用户可以复制网址并在以后使用它 - 有点像保存状态。关于这个问题的任何建议都会受到重视,因为我不确定在哪里看。感谢您抽出宝贵时间阅读!
答案 0 :(得分:1)
您可以使用$ location.search()来读取和写入URL的属性。它们将作为参数出现。在你的情况下
http://site/page?mod1=true&mod2=false
要更新您要执行的值:
$location.search({mod1: $scope.mod1, mod2: $scope.mod2});
首次加载页面时,在控制器中,您将重新读取这些值:
$scope.mod1 = $location.search().mod1;
$scope.mod2 = $location.search().mod2;