Angularjs 角度JS$routeParams值在刷新后变为默认值
javascriptAngularjs 角度JS$routeParams值在刷新后变为默认值,angularjs,Angularjs,javascript var app = angular.module('angularjsapp', []); app.config(function($routeProvider){ $routeProvider.when('/page/:id', {templateUrl: 'Main.html' , controller: 'MainCtrl'}); $routeProvider.otherwise({templateUrl: 'Main.html' , controller
var app = angular.module('angularjsapp', []);
app.config(function($routeProvider){
$routeProvider.when('/page/:id', {templateUrl: 'Main.html' , controller: 'MainCtrl'});
$routeProvider.otherwise({templateUrl: 'Main.html' , controller: 'MainCtrl'});
});
app.controller('MainCtrl', function($scope, $routeParams) {
$scope.id = $routeParams.id || 'no id';
});
index.html
<body>
<h1>Default route demo</h1>
<div ng-view></div>
<hr/>
<ul>
<li><a href="#/other">other</a></li>
<li><a href="#/page/1">Page 1</a></li>
<li><a href="#/page/2">Page 2</a></li>
<li><a href="#/page/3">Page 3</a></li>
<li><a href="#/page/4">Page 4</a></li>
</ul>
</body>
默认路线演示
在AngularJS中,我知道我可以通过此代码获取url变量(在本例中为id
)。但是,一旦我刷新浏览器,变量就会变成默认值(在本例中为nothing
)
所以我的问题是如何保留这个变量,这样即使刷新浏览器也可以保留它
您可以从使用角度本地存储模块来帮助您在刷新浏览器时保持状态 下面是支持本地存储的forked Anuglar演示。您必须添加自己的逻辑,以确定如何处理重新路由或使用上一页
id
创建服务并从持久后端检索数据。例如,Cookie或数据库后端。当它在iframe中时,routeParam将在刷新后重置。在普通页面上试试。我认为你做得对