<分区>
我正在使用 Angularjs ngRoute for SPA,以 Node.js 作为我的后端,我的网站有 3 个页面说:
localhost:8000/#!/
localhost:8000/#!/red
localhost:8000/#!/green
通过谷歌搜索,我找到了摆脱 /**#!**/
的方法,只有当用户无意按 F5 重新加载页面时,它才能正常工作。如果重新加载,我的页面结构会变得更糟。我的意思是,如果用户在 red.html
页面中按 F5,则单独显示 red.html
而不是注入(inject) red.html
ng-View 中的内容 这就是 nodejs get 请求的本质。有什么方法可以摆脱这个问题吗?
index.html
<body ng-app="myApp">
<p><a href="/">Main</a></p>
<a href="/red">Red</a>
<a href="/green">Green</a>
<ng-view></ng-view>
<script>
var app = angular.module("myApp", ["ngRoute"]);
app.config(function($routeProvider, $locationProvider) {
$routeProvider
.when("/", {
templateUrl: "/main"
})
.when("/red", {
templateUrl: "/red"
})
.when("/green", {
templateUrl: "/green"
})
$locationProvider.html5Mode(true);
});
</script>
</body>