【发布时间】:2017-08-18 05:12:41
【问题描述】:
有一个带有 ui-router 的应用程序,如果我重新加载页面(状态)会出现问题。 示例:应用程序根路径 '/' 和状态注册 '/registration' 如果我转到链接 '/registration',加载注册页面,然后我刷新页面并获取:
无法获取/注册
我知道这个问题并使用 .htaccess
RewriteEngine On
Options FollowSymLinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /#/$1 [L]
但这并不能解决我的问题。
我的 app.js
var app = angular.module('myApp', [
'ui.router',
'ngCookies',
'myApp.main',
'myApp.navbar',
'myApp.registration',
'myApp.login',
'myApp.newOrder',
'ui.bootstrap',
'ui.bootstrap.datetimepicker',
]);
app.config([
'$stateProvider',
'$urlRouterProvider',
'$locationProvider',
function ($stateProvider, $urlRouterProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$urlRouterProvider.otherwise('/');
$stateProvider
.state('main', {
url: '/',
templateUrl: 'templates/content/main.html',
controller: 'mainCtrl'
})
.state('registration', {
url: '/registration',
templateUrl: 'templates/content/registration.html',
controller: 'registrationCtrl'
})
.state('login', {
url: '/login',
templateUrl: 'templates/content/login.html',
controller: 'loginCtrl'
})
.state('new-order', {
url: '/new-order',
templateUrl: 'templates/content/newOrder.html',
controller: 'newOrderCtrl'
});
}]);
index.html 使用:
<base href="/">
【问题讨论】:
标签: angularjs node.js angular-ui-router