我正在使用Angular的UI路由器,我正在寻找创建$ scope函数(最终传递给视图以进行ng-click调用)以重新加载控制器及其关联的解析器。我该怎么做?
我试过这个,但似乎没有重新加载解析器:
$scope.reloadMe = function() {
$state.transitionTo($state.current, $stateParams, { reload: true, inherit: false, notify: true });
};
答案 0 :(得分:1)
只需将$ route注入控制器并调用$ route.reload,所以代码如下:
$scope.reloadMe = function () {
$route.reload();
};
您可以在此处阅读文档:https://docs.angularjs.org/api/ngRoute/service/ $ route
答案 1 :(得分:0)
你可以注入$ injector并加载$ state来重新加载。这里我举两个例子,你可以使用其中一个。
function MyController($injector, data) {
$injector.get('$state').reload(); // this reload all states and controllers scopes
// or
$injector.get('$state').go($state.current, {}, {reload: true}); // second parameter is for $stateParams
}
否则,如果我需要重新加载页面,我使用javascript
window.location.reload()
这个问题被问到here