有什么方法可以将参数从一个页面发送到另一页,而无需在URL中发送参数



是否可以将参数从一个页面发送到另一页,而无需在URL中绑定它们。在大多数情况下,我们在URL中发送值以在下一页检索这些值。像Angularjs:

 <li ng-repeat="cat in x.Child"><a ng-href="#/ProductListingByCategory/{{cat.Id}}">{{cat.Name}}</a></li>

在javascript或jquery中,我们确实喜欢。

<li><a href='Product/ProductList/" + this.Id + "'>" + this.Name + </a> </li>

是否有其他解决方案我们不应该在URL中发送参数?预先感谢:(

如果您使用的是 ui-router,则可以使用状态的参数属性来执行此操作。

$stateProvider.state('state.name', {
    url: "/state-url",
    params: {
        myParam: null
    }
});

当您过渡到状态时,您可以分配myParam您想要的任何值,然后您可以通过$stateParams访问它。

用法在查看

<a ui-sref="state.name({ myParam: 'Value of the param' })">Link Text</a>

在控制器中使用

$state.go('state.name', {
    myParam: 'Value of the param'
});

请注意,在重新加载页面后,这些参数将是空的,因为它们仅存储在内存中。

可以以几种方式完成,localstorage是一种常见的方法。

示例:在控制器A中,您可以使用localstorage

将变量的值设置为名称
$scope.age = 50;
localStorage.setItem('age', $scope.age);

在控制器B或外面的任何地方,您可以使用GetItem获取它。

var age = localStorage.getItem('age');

最新更新