我的网址是localhost / kaiweb / #! /我想删除#34;#!"或任何可能导致这种情况。另一个例子是localhost / kaiweb /#!/ minust - 它介于两者之间并且看起来不漂亮。
<li><a id="mainBtn" href="#!/" ng-class="{activeSmall:part == 'index'}" >Avaleht</a></li>
<li><a id="aboutBtn" href="#!/minust" ng-class="{activeSmall:part == 'minust'}">Minust</a></li>
<li><a id="workBtn" href="#!/portfoolio" ng-class="{activeSmall:part == 'portfoolio'}" >Portfoolio</a></li>
<li><a id="vouchBtn" href="#!/teenused" ng-class="{activeSmall:part == 'teenused'}" >Teenused</a></li>
AngularApp
'use strict';
var app = angular.module('kaidoweb', []).
config(['$routeProvider', function ($routeProvider) {
$routeProvider.
when('/', {
templateUrl: 'pages/index.html',
activetab: 'index',
controller: HomeCtrl
}).
when('/portfoolio', {
templateUrl: 'pages/works.html',
controller: PrivacyCtrl,
activetab: 'portfoolio'
}).
when('/minust', {
templateUrl: 'pages/about.html',
controller: AboutCtrl,
activetab: 'minust'
}).
when('/teenused', {
templateUrl: 'pages/teenused.html',
controller: TeenusedCtrl,
activetab: 'teenused'
}).
otherwise({ redirectTo: '/' });
}]).run(['$rootScope', '$http', '$browser', '$timeout', "$route", function ($scope, $http, $browser, $timeout, $route) {
$scope.$on("$routeChangeSuccess", function (scope, next, current) {
$scope.part = $route.current.activetab;
});
我猜这是一件很简单的事情,但我对角度很新。
答案 0 :(得分:1)
您必须了解Angular不是服务器端进程。您可以调整html5mode,但这仅适用于页面的html锚点中包含的链接以及网址在浏览器地址栏中的显示方式。尝试从页面外的任何位置请求没有主题标签(带或不带html5mode)的子页面将导致404错误。例如,以下CURL请求将导致页面未找到错误,无论html5mode如何:
$ curl http://foo.bar/portfolio
虽然以下内容将返回root / home页面:
$ curl http://foo.bar/#/portfolio
因此,如果您想与他人共享网址,则除了包含主题标签外别无选择;除非您决定使用某种类型的服务器端路由。