【发布时间】:2013-01-17 01:46:44
【问题描述】:
如果“某事”发生,是否可以重新加载某个路线?
示例:
每次触发这个功能,我都需要用新的ID重新加载路由
$scope.updateDealer = function(zip, country) {
if(zip) {
$http.get('files/framework/dealer/near/'+ zip + '/' + country + '').success(function(data) {
$scope.dealer = {marker: data};
$location.path('/dealer/:id').search({id: data.id});
$rootScope.dealerdetails = data;
$route.reload();
});
} else {
$scope.dealer = $scope.loadall();
}
}
路线:
when('/dealer/:id', {templateUrl: 'files/tpl/dealer-details.html?26', controller: 'DealerDetailsCtrl', activetab: 'details'}).
但不知何故,ID 不在 DealerDetailsCtrl 中。
这是对 DealerDetailsCtrl 中数据的调用:
$rootScope.dealerdetails = dealerService.api.get({id: $routeParams.id, token: $scope.token})
$routeParams.id 似乎是空的,因此内容没有加载。
感谢您的帮助。
【问题讨论】:
-
而不是
$route.reload()使用与您的路线匹配的适当参数调用window.location.href不是更容易吗? -
你能在问题代码中添加一个 jsFiddle 的 Plunker 以便我们看一下吗?另外,为什么你需要“重新加载”你当前的路由,而不是仅仅通过绑定刷新你的内容?
-
window.location.href 是不可能的,因为内容正在打开的覆盖 div 中加载。该网站必须免费“重新加载”......“重新加载()”只是一个尝试。
标签: javascript location angularjs routes