angularjs 1.6.1页面刷新后,上一个页面传递过来的参数变成undefined


angularjs 1.6.1页面刷新后,上一个页面传递过来的参数变成undefined。

情景描述:有一个文章标题列表页面,点击标题,进入文章详细内容页面,这个过程需要把文章id传递过去,但是angularJs中传递参数,进入文章详细内容后,刷新页面,文章id变成了undefined,页面出错。

为了解决这个问题,我只找到了下面的这种传参方式:

1.路由文件

 1 .state('list', {
 2                 url: '/list',
 3                 views: {
 4                     'main': {
 5                         templateUrl: 'modules/list/list.html',
 6                         controller: 'listCtrl'
 7                     }
 8                 }
 9             })
10             .state('person', {
11                 url: '/person',
12                 views: {
13                     'main': {
14                         templateUrl: 'modules/person/person.html',
15                         controller: 'personCtrl'
16                     }
17                 }
18             })
19             .state('detail', {
20                 url: '/list/detail?:id',
21                 views: {
22                     'main': {
23                         templateUrl: 'modules/detail/detail.html',
24                         controller: 'detailCtrl'
25                     }
26                 }
27             });
28     }]);

2.list.html

1 <div ng-repeat="lt in list">
2     <a style="display:block;margin: 10px;" ui-sref="detail({id:lt.subId})">{{lt.subTitle}}</a>
3 </div>

3.detailController.js

1 .controller('detailCtrl', ['$scope', '$stateParams', 'dataService', function ($scope, $stateParams, dataService) {
2             $scope.id = $stateParams.id;
3         }]);

只有通过上面的这种方式传递参数,然后在详细页面中用$stateParams.id;接收,这样获取的参数才不会因为页面的刷新而消失。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM