angular 1 ui路由器维护状态之间的url param数据

时间:2018-05-08 10:02:36

标签: angularjs angular-ui-router

我正在使用Angular 1和Ui-router上的应用程序,我正在尝试使url中的数据保存在状态之间。我已经阅读了关于Angular 2.0上的queryParamsHandling:'preserve'功能。但是我目前仍然使用Angular 1,我需要解决如何在状态之间保持url数据相同的问题。

我正在考虑的一个选项是保留网址:状态之间的params数据与ui-sref一样,但到目前为止还不成功。

有没有人有如何解决此问题的好建议?

由于

1 个答案:

答案 0 :(得分:0)

路由器文件-> route.js:

angular
    .module('moduleName')
    .config(['$stateProvider', stateProvider])

function stateProvider($stateProvider) {
    $stateProvider
    .state('lessonDetails', {
            url: '/:lessonId/details',
            views: {
                'content': {
                    templateUrl: 'lesson/lesson-details.html',
                    controller: 'lessonController'
                }
            }
     });
}

HTML文件-> lesson-details.html:

<a ui-sref="lessonDetails({'lessonId': 123})">Go to details</a>

控制器-> lesson-details.js

angular
    .module('moduleName')

    .controller('lessonController', ['$scope', '$stateParams', lessonController]);

     function lessonController($scope, $stateParams){
        //use lessonId passed as params using $stateParams
        console.log($stateParams.lessonId)
     }