刷新Angular应用程序将进入默认状态

时间:2016-08-24 11:24:50

标签: javascript angularjs json angular-routing

我正在创建基于Dashboeard的angularjs,我使用ui.router从json文件创建状态, 我的topNavbar和状态由pages.json文件创建。 我的应用程序工作正常但是当使用这个“localhost:#/ map”url刷新页面时,它会重定向到“localhost:#/ dashboard”状态。 如何设置用户在URL中输入的状态?

android:launchMode="singleTask"

pages.json

var $urlRouterProviderRef = null;
var $stateProviderRef = null;

 myApp.run(function ($q, $rootScope, $state, $http, navbars)
        {
           navbars.load()
            $http.get("js/config/pages.json")
                .success(function (data) {
                    angular.forEach(data, function (value, key) {
                        var state = {
                            "url": value.url,
                            "templateUrl": value.templateUrl,
                            "controller": value.controller

                        };
                        $stateProviderRef.state(value.sref, state);
                    });


                });
              }

myApp.config(function ($stateProvider, $locationProvider, $urlRouterProvider) {

        $urlRouterProvider.otherwise('/dashboard');
        $urlRouterProviderRef = $urlRouterProvider;
        $stateProviderRef = $stateProvider;
    })

1 个答案:

答案 0 :(得分:2)

当您刷新页面时,您的运行函数调用并从pages.json读取值,您需要更新pages.json文件或者您需要将url值保存在localstorage或sessionstorage中,因此每当您刷新页面时都可以访问url来自localstorage或sessionstorage的值。