我目前正在构建一个Angularjs singel页面应用程序,我的路由遇到了一些奇怪的错误。
我有一个带有多个选项的导航栏,除了其中一个选项外,所有选项都正常。
这是我的路线提供者。
app.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when("/index", {
templateUrl: "/App/Views/index.html",
controller: "IndexController"
})
.when("/log", {
templateUrl: "/App/Views/log.html",
controller: "LogController"
})
.when("/help", {
templateUrl: "/App/Views/help.html",
controller: "HelpController"
})
.when("/login", {
templateUrl: "/App/Views/login.html",
controller: "LoginController"
})
.when("/signup", {
templateUrl: "/App/Views/signup.html",
controller: "SignupController"
})
.when("/logout", {
templateUrl: "/App/Views/logout.html",
controller: "LogOutController"
})
.when("/user", {
templateUrl: "/App/Views/user.html",
controller: "UserController"
})
.otherwise({
redirectTo: "/index"
});
}]);
这是我的Navbar
<li>
<a href="#/index">Hem</a>
</li>
<li ng-class="{ activeLink: isActive('/log')}" data-ng-hide="!isLoggedIn">
<a href="#/log">Logg</a>
</li>
<li ng-class="{ activeLink: isActive('/help')}" data-ng-hide="!isLoggedIn">
<a href="#/help">Hjälp</a>
</li>
<li ng-class="{ activeLink: isActive('/logout')}" data-ng-hide="!isLoggedIn">
<a href="#/logout">Logga ut</a>
</li>
<li ng-class="{ activeLink: isActive('/user')}" data-ng-hide="!isLoggedIn">
<a href="#/user">{{userName}}</a>
</li>
我的问题是,当我点击{{userName}}链接时,我将被带到索引页面。
此错误仅在js缩小时才会在实时服务器上发生,如果它在服务器上未被分析,那么它是否按预期工作。 如果我运行这个网站localy我可以使用常规版本和缩小版本,路由行为就像预期的那样。 当我点击链接并且我检查chrome中的html时控制台没有显示任何错误,所以它有正确的html
<a href="#/user" class="ng-binding">Johan Karlsson</a>.
我尝试将{{userName}}链接指向&#34;#/ log&#34;它运作良好。
这是我的用户控制器
(function () {
var app = angular.module("connectPortal");
var userController = ['$scope', 'authService', function ($scope, authService) {
authService.authenticateUser();
$scope.var = "var variable from HelpController";
}];
app.controller("UserController", userController);
}());
这是我的日志控制器
(function () {
var app = angular.module("connectPortal");
var logController = ['$scope', 'authService', function ($scope, authService) {
authService.authenticateUser();
$scope.var = "var variable from LogController";
}];
app.controller("LogController", logController);
}());