是否有任何方法可以将参数从一个页面发送到另一个页面,而无需在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中发送参数?在此先感谢:)
答案 0 :(得分:1)
如果您使用ui-router
,则可以使用州的params属性执行此操作。
$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'
});
请注意,页面重新加载后,这些参数将为空,因为它们只存储在内存中。
答案 1 :(得分:0)
它可以通过几种方式完成,localStorage是一种常用的方法。
示例:在Controller A中,您可以使用localStorage
将变量的值设置为名称$scope.age = 50;
localStorage.setItem('age', $scope.age);
在Controller B或外面的任何地方,您可以使用getItem获取它。
var age = localStorage.getItem('age');