我使用的是Angular + ASP.NET核心。默认情况下,它包含服务器端渲染。这是合理的,因为加载需要时间。在正确引导应用程序之前,确实需要服务器呈现页面。
但是,我发现当我点击任何锚链接时,不是从客户端路由,而是刷新整个文档。它太沉重了。
我想知道应用程序何时已经被引导,我如何禁用服务器端呈现并仅使用客户端呈现?
答案 0 :(得分:1)
这是错误的问题。导致整个文档重新加载的原因不是由于服务器端渲染,而是由于在锚元素上使用href。相反,我应该使用routerLink。
答案 1 :(得分:1)
你有几个选择。
选项1
<a href="javascript:void(0)" (click)="functionContainingRoutingLogic()">My Link</a>
请注意,href
设置为javascript:void(0)
,路由逻辑将写入函数functionContainingRoutingLogic()
的Typescript中。像这样:
public functionContainingRoutingLogic() {
this.router.navigate(['route_name_defined_in_your_router_config']);
}
选项2
<a href="javascript:void(0)"
[routerLink]="['/route_name_defined_in_your_router_config/']">My link</a>
所以,在这里你直接在html中提供路线名称
注意:如果您有href="#"
或href="anything else"
,点击它会重新加载同一页