我想在我的网站上实现基于AngularJS的管理员后端。
假设后端位于/admin
并且我设置了<base href="/admin">
,我将路由设置为如下
angular
.module('myApp', ['ngRoute']);
.controller('MainController', function ($scope) {})
.controller('DashboardController', function ($scope) {});
.config(['$routeProvider', '$locationProvider',
function ($routeProvider, $locationProvider) {
$routeProvider
.when('/dashboard', {
templateUrl: '/admin/static/app/dashboard/dashboard.html',
controller: 'DashboardController'
});
$locationProvider.html5Mode(true);
}]);
我的导航看起来像
<ul id="navigation">
<li><a href="/">Home</a></li>
<li><a href="/dashboard">Dashboard</a></li>
</div>
现在我在/admin/
并点击Dashboard
它会将我的窗口位置设置为/dashboard
而不是/admin/dashboard
- 这就是我的意思base href
。
有没有办法让base href
保持在该位置?
答案 0 :(得分:0)
你应该尝试这样做
<a href="#/dashboard">Dashboard</a>
#使其成为相对的,并且注册的路由支持开箱即用。 通常你不会在angularjs中使用href。你宁可放一些ng-click元素,并使用$ location.path('dashboard')
来使用$ location服务