Angularjs 角度JS$routeParams值在刷新后变为默认值

Angularjs 角度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

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: '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将在刷新后重置。在普通页面上试试。我认为你做得对