我们有混合应用程序我们有Razor视图,但我们正在使用Angular和UI路由器设置所有路由和行为。
有些情况下我们向服务器POST了一些内容,但是我们无法使用UI路由器重新加载templateUrl
。
我们已尝试使用$state.reload()
,$state.transitonTo
和$state.go
(均为refresh: true
),但他们不会要求服务器将视图重新加载回我们。
我们有什么办法可以让服务器重新加载这个Razor视图,然后在有角度的一侧重新加载它?
谢谢!
答案 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();
});