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

标签 javascript angularjs json angular-routing

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

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;
    })

pages.json

[
{
    "displayname": "Dashboard",
    "active": true,
    "name": "dashboard",
    "sref": "dashboard",
    "url": "/dashboard",
    "controller": "layoutOneCtrl",
    "templateUrl": "views/dashboard.html",
    "icon": "fa-dashboard",
    "children": [{
        "name": "dashboard"
                }]
            }, {
    "displayname": "Map",
    "open": false,
    "active": false,
    "name": "map",
    "sref": "map",
    "url": "/map",
    "templateUrl": "views/layout1.html",
    "controller": "layoutOneCtrl",
    "icon": "fa-map-marker",
    "children": [{
        "name": "map"
                }]
     }
     .
     . 
     .
    ]

最佳答案

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

关于javascript - 刷新 Angular 应用程序进入默认状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39122014/

相关文章:

javascript - Jquery : Can't find the bug, 可能有ID?

javascript - 未找到 HTML 文档的字符编码声明

javascript - 根据选择值隐藏和显示列表项

Angularjs - 无法捕获 $watch 事件

android - JSON 对象 : linked list?

java - 从 JSON 输出 jersey moxy 中删除 "type"

ios - JSON AFNetworking iOS 6 查看值是否为 "on"

javascript - 我的气泡图远远超过了 maxValue,低于 minValue

javascript - Angular2 构建 : Cannot find name 'Promise' only in Visual Studio

javascript - Angular Promise 回调不在构造函数方法内触发,而是在对象字面量方法中触发