ui-router: установить состояние ссылки по умолчанию - PullRequest
0 голосов
/ 10 июня 2018

Я хочу установить состояние по умолчанию для отображения «приборной панели» и активировать ссылку «приборной панели» при открытии «127.0.0.1/mywebapp/».Использование "$ urlRouterProvider.otherwise ('/ dashboard');"выполнит работу, но я не смогу ее использовать, так как буду использовать ее на странице 404.

это мои ссылки:

<ul class="nav-list">
    <li class="nav-item" ui-sref-active="active">
        <a ui-sref="dashboard" class="trans200">
            <i class="icon fas fa-columns"></i> 
            <span class="text">Dashboard</span>
        </a>
    </li>
    <li class="nav-item" ui-sref-active="active">
        <a ui-sref="agents" class="trans200">
            <i class="icon fas fa-user-tie"></i> 
            <span class="text">Agents</span>
        </a>
    </li>
    <li class="nav-item" ui-sref-active="active">
        <a ui-sref="projects" class="trans200">
            <i class="icon fas fa-box-open"></i> 
            <span class="text">Projects</span>
        </a>
    </li>
    <li class="nav-item" ui-sref-active="active">
        <a ui-sref="supplies" class="trans200">
            <i class="icon fas fa-parachute-box"></i> 
            <span class="text">Supplies</span>
        </a>
    </li>
</ul>

Вот мой текущий код маршрутизации, но «по умолчанию»'состояние не активирует ссылку на панель управления:

app.config(function($stateProvider,$locationProvider,$urlRouterProvider) {
    $locationProvider.hashPrefix('');
    $urlRouterProvider.otherwise('/404.htm');
    $stateProvider
    .state({
        name:'default',
        url:'',
        templateUrl: './views/dashboard.htm',
        controller:'dashboardCtrlr'
    })
    .state({ 
        name: 'dashboard',
        url: '/dashboard',
        templateUrl: './views/dashboard.htm',
        controller:'dashboardCtrlr'
    })
    .state({ 
        name: 'projects',
        url: '/projects',
        templateUrl: './views/projects.htm',
        controller:'projectsCtrlr'
    })
    .state({ 
        name: 'supplies',
        url: '/supplies',
        templateUrl: './views/supplies.htm',
        controller:'suppliesCtrlr'
    })
    .state({
        name: 'agents',
        abstract:true,
        default:'.list',
        url: '/agents',
        templateUrl: './views/agents.htm'
    })
// START OF AGENTS MODULE ROUTINGS
        .state({ 
            name: 'agents.list',
            url: '',
            templateUrl: './views/templates/agents/temp_agent_list.htm',
            controller: 'agentsCtrlr'
        })
        .state({ 
            name: 'agents.profile',
            url: '/{username}',
            templateUrl: './views/templates/agents/temp_agent_profile.htm',
            controller: 'agentProfileCtrlr'
        })
        .state({ 
            name: 'agents.create',
            url: '/{username}',
            templateUrl: './views/templates/agents/temp_agent_profile.htm',
            controller: 'agentProfileCtrlr'
        });
// END OF AGENTS MODULE ROUTINGS
});

1 Ответ

0 голосов
/ 10 июня 2018

Попробуйте использовать блок прогона:

app.run(function($window, $state) {
   if ($window.location.pathname === 'mywebapp/') {
       $state.go('dashboard');
   }
});
...