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