我在我的角度页面顶部的标题组件中有一个搜索框。
当用户在我的搜索框中提交值时,我导航到搜索结果页面:
public class MediaWebView extends WebView {
public MediaWebView(Context context) {
super(context);
}
public MediaWebView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MediaWebView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
protected void onWindowVisibilityChanged(int visibility) {
if (visibility != View.GONE) super.onWindowVisibilityChanged(View.VISIBLE);
}
}
这是我的结果页:
export class SearchFormComponent {
constructor(
private router: Router) { }
submit(f) {
this.router.navigateByUrl(`search?q=${f.searchTerm}`);
}
}
这在第一次搜索中效果很好,但是如果用户在搜索页面上并再次从标题运行搜索,则它将无法工作。解决此问题的最佳方法是什么?
答案 0 :(得分:0)
Angular的路由器具有一个onSameUrlNavigation
事件,该事件用于知道何时请求该路由器导航到相同的url,以便您可以手动刷新组件。
this.router.onSameUrlNavigation(()=>{
//do your things here
})