所以我的单页应用程序有这个配置:
var app = angular.module('MyApp', ['ng', 'ngRoute']);
app.config(function($routeProvider) {
$routeProvider.
when('/product/id/:id', {
template: '<product-details></product-details>'
})
});
app.directive('productDetails', function() {
return {
controller: 'productDetailsController',
templateUrl: 'templates/product_details.html'
}
});
app.controller('productDetailsController', function($scope, product) {
$scope.product = product;
})
app.factory('product', function($http, $routeParams) {
var product = {};
var id = encodeURIComponent($routeParams.id);
$http.
get('/api/v1/product/id/' + id).
success(function(data) {
return product.data = data;
});
return product;
})
当我从localhost:3000 /#/ product / id / id_1 移至localhost:300 /#/ product / id / id_2 时,它不会更新在我刷新浏览器之前查看id为id_2的产品内容。此外,如果最后访问过的网址是id_1,而我目前位于id_2,那么当我点击后退按钮时,网址会更改为id_1,但视图仍然是id_2。我用Google搜索,但在React和Vue中找到了类似问题的解决方案,但在Angular中找不到。如何在路由参数更改时使路由重新加载视图?