【发布时间】:2016-10-31 11:27:39
【问题描述】:
我的简单 Angular 应用程序遇到了大问题。刷新页面后,所有的html都丢失了!
我的问题不在于角度数据和/或会话/本地存储数据,而在于 HTML。
例如,当通过导航栏“主页”按钮访问主页时,它看起来像:
所以问题是 - 我的路由配置有什么问题,或者这可能是 Angular 的预期行为?我一直在寻找这个问题,但大多数主题都是关于将数据保存在 $localStorage 或 $sessionStorage 中。我的所有页面都会出现此问题。
编辑 嗨,伙计们,感谢您的 cmets。
@devqon - 我认为这里不需要 locationProvider。我正在使用 routeProvider。 我更改了一点路由配置:将''替换为“”并在配置末尾添加 else 语句:
<code>
app.config(function($routeProvider, $httpProvider) {
$routeProvider.when("/", {
templateUrl : "src/html/home.html",
controller : "HeaderCtrl"
})
.when("/home", {
templateUrl : "src/html/home.html",
controller : "HomeCtrl"
})
.when("/flights", {
templateUrl : "src/html/flights.html",
controller : "FlightCtrl"
})
.when("/customers", {
templateUrl : "src/html/customers.html",
controller : "CustomerCtrl"
})
.when("/login", {
templateUrl : "src/html/login.html",
controller : "HeaderCtrl"
})
.when("/flight_choose", {
templateUrl : "src/html/flight_choose.html",
controller : "FlightChooseCtrl"
}).otherwise("/home");
$httpProvider.interceptors.push('airlinesRequestInterceptor');
});
</code>
如您所见,我创建了 HomeCtrl,非常简单:
<code>
app.controller('HomeCtrl', function() {});
</code>
home.html 位于第一个屏幕截图中。 @Gustavo Gabriel - 你能更具体一点吗? :) 上述更改并没有解决问题:(
编辑 2
@Kai - 感谢您的回复。
根据您的建议,我更改了配置,现在看起来像:
app.config(function($routeProvider, $httpProvider) {
$routeProvider.when("/", {
templateUrl : "src/html/home.html",
controller : "HomeCtrl"
})
.when("/flights", {
templateUrl : "src/html/flights.html",
controller : "FlightCtrl"
})
.when("/customers", {
templateUrl : "src/html/customers.html",
controller : "CustomerCtrl"
})
.when("/login", {
templateUrl : "src/html/login.html",
controller : "HeaderCtrl"
})
.when("/flight_choose", {
templateUrl : "src/html/flight_choose.html",
controller : "FlightChooseCtrl"
}).otherwise("/");
$httpProvider.interceptors.push('airlinesRequestInterceptor');
}); 我还更改了主页的导航栏链接: 问题仍然存在,所以也许我误解了你。 有任何想法吗?
提前致谢, 迈克尔
【问题讨论】:
-
你应该包含一个
$locationProvider.otherwise(..defaultUrl..)让 Angular 知道如果没有匹配,请转到默认网址(可能是主页) -
你的 home.html 和 HeaderCtrl 是什么样的?
-
试试$routeProvider.when('',然后把home...
-
大家好,我已将 EDIT 添加到问题中。
标签: javascript html angularjs ngroute