路径参数中的更改不会更新Angular

时间:2016-12-04 16:08:32

标签: javascript angularjs single-page-application

所以我的单页应用程序有这个配置:

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中找不到。如何在路由参数更改时使路由重新加载视图?

0 个答案:

没有答案