【发布时间】:2020-07-29 00:09:10
【问题描述】:
我的模板是:
<form class="navbar-form">
<div class="input-group no-border">
<input type="text" #term class="form-control" (keyup.enter)="search($event)" placeholder="поиск..." />
<button type="button" class="btn btn-white btn-round btn-just-icon" (click)="search($event)">
<i class="material-icons">search</i>
<div class="ripple-container"></div>
</button>
</div>
</form>
方法search()是:
search(e): boolean {
e.preventDefault();
this.router.navigate(['users']);
}
为什么尽管 e.preventDefault(); 页面在按下回车键后会重新加载?
我已经删除了(keyup.enter)="search($event)" 它仍然会重新加载页面。这意味着在其他地方调用了事件
【问题讨论】:
-
因为
preventDefault()只影响事件,不影响之后的代码。 -
我知道,但是转到路由页面我得到了重新加载页面。
-
那么,我认为该问题与您的路由设置有关。可以发在这里吗?
-
我评论了
this.router.navigate(['users']);同样的问题 -
可能,只要函数不返回任何内容,您就应该删除返回类型。我刚刚测试了您的代码(没有路由器)是否会重新加载。我怀疑你有路由问题,你能发布你的路由配置吗?
标签: angular