刷新Razor视图到UI路由器$状态

时间:2015-10-23 18:17:49

标签: angularjs razor angular-ui-router

我们有混合应用程序我们有Razor视图,但我们正在使用Angular和UI路由器设置所有路由和行为。 有些情况下我们向服务器POST了一些内容,但是我们无法使用UI路由器重新加载templateUrl

我们已尝试使用$state.reload()$state.transitonTo$state.go(均为refresh: true),但他们不会要求服务器将视图重新加载回我们。

我们有什么办法可以让服务器重新加载这个Razor视图,然后在有角度的一侧重新加载它?

谢谢!

1 个答案:

答案 0 :(得分:1)

这里最好的答案是$templateCache.remove。 它会强制从所需模板中删除缓存。

我们的问题是模板正在基于模态窗口http.post的服务器中重新加载,而angular无法知道。

所以我们改变了这个:

http.post(controllerUrl, payload).success(function(result) {
    $modalInstance.dismiss('cancel');
    window.location.reload();
});

到此:

http.post(controllerUrl, payload).success(function(result) {
    $modalInstance.dismiss('cancel');
    templateCache.remove('/home');
    state.reload();
});