这是我app.js
在 AngularJS 中的路由文件
var app = angular.module('myApp', ['ngRoute', 'ngAnimate', 'toaster']);
app.config(['$routeProvider',
function ($routeProvider) {
$routeProvider.
when('/login', {
title: 'Login',
templateUrl: 'resources/views/layouts/loginUser.php',
controller: 'authCtrl'
})
.when('/', {
title: 'Login',
templateUrl: 'resources/views/layout/login.php',
controller: 'logoutCtrl'
})
.when('/reset', {
title: 'Reset Password',
templateUrl: 'resources/views/layouts/forgetPassword.php',
controller: 'authCtrl'
})
.when('/invalidtoken', {
title: 'Login',
templateUrl: 'resources/views/layout/invalidtoken.php',
controller: 'authCtrl',
role: '0'
})
//$locationProvider.html5Mode(true);
}])
.run(function ($rootScope, $location, Data, $http) {
$rootScope.$on("$routeChangeStart", function (event, next, current) {
var nextUrl = next.$$route.originalPath;
if (nextUrl == '/signin' || nextUrl == '/login' || nextUrl == '/verify' || nextUrl == '/register' || nextUrl == '/registered' || nextUrl == '/reset' || nextUrl == '/resetdone' || nextUrl == '/registersuccess')
{
$location.path(nextUrl);
}
else
{
$location.path('/');
}
});
});
在这里,我使用 .run 来处理一些请求。
我想从 url 中删除 # 以使 url 漂亮,
所以我确实喜欢这样删除 # 如建议here
app.config(['$routeProvider', '$locationProvider'
function ($routeProvider, $locationProvider) {
在最后一行
$locationProvider.html5Mode(true);
但是应用程序没有发生任何事情,它的 url 中仍然有 #。
即使我试过这种方式
我怎样才能做到这一点?
更新 :
如果我做
.run(function ($rootScope, $location, Data, $http, $locationProvider) {
在最后一行
$locationProvider.html5Mode(true);
我收到此错误
Error: $injector:unpr
Unknown Provider
我尝试了很多方法,但都没有奏效。
更新2:
或者任何人都可以建议一个 angularjs 示例的链接,它提供了在 url 中没有 # 的示例?