【发布时间】:2017-02-14 08:30:39
【问题描述】:
我一直在使用 TMDb API 和 AngularJS 做一个迷你项目。我的 Angular 路由部分可以工作,我可以在点击时加载电影详细信息。点击主页后,您将进入 details 视图,并且 URL 更改为 movie/:id/:title,现在如果用户点击 details 视图中的另一部电影,相关数据为新点击的电影替换之前的数据。现在,如果我尝试使用浏览器返回,则上一部电影的数据不会加载,但 URL 会显示上一部电影的标题。
除了这个错误,还有一个错误。当我尝试重新加载浏览器时,它会导致 404 错误。如果我转html5Mode(true)这会发生。如果我禁用了html5Mode,该页面不会显示相关信息,但会在视图中显示一个空模板。我只是 AngularJS 的初学者。我不知道如何解决这个问题。我已经提到了我托管该网站的域。我想,看看它会更容易理解我的问题。希望这里有人可以帮助我。
项目网址: http://movie-buffs.xyz/
这是我的路由代码。
.config(['$routeProvider','$locationProvider', function($routeProvider, $locationProvider){
$routeProvider
.when('/',{
templateUrl:'templates/movies.html'
})
.when('/movies/:id/:title',{
templateUrl:'templates/moviedetails.html'
})
.when('/search',{
templateUrl:'templates/search.html'
})
.when('/tv',{
templateUrl:'templates/tv.html'
})
.when('/tv/:id/:title',{
templateUrl:'templates/tvdetails.html'
})
.when('/celebs',{
templateUrl:'templates/celebs.html'
})
.when('/celebs/:id/:name',{
templateUrl:'templates/celebsdetails.html'
})
.when('/contact',{
templateUrl:'contact_us.html'
})
.otherwise({
redirectTo:'/'
});
$locationProvider.html5Mode(true);
}]);
【问题讨论】:
标签: javascript angularjs routing angular-routing