javascript - angular2 一旦使用填写搜索表单,如何在刷新页面后获取查询参数?

标签 javascript angular typescript rxjs5

当我提交搜索表单时,URL 查询参数将会更改。

当我刷新页面时,我想获取查询参数,自动完成搜索表单。

但我不想订阅更改,因为我只想获取一次。

这是我的搜索模型:

constructor(
    private formBuilder: FormBuilder,
    private router: Router,
    private activatedRoute: ActivatedRoute
){
    this.searchForms = this.formBuilder.group({
        cardId: [],
        cardType: [],
        beginTime: [],
        endTime: []
    });

    // this.activatedRoute.queryParams.getValue() 
    // I want use getValue method, But it throw a error msg:
    // "Property 'getValue' does not exist on type 'Observable<Params>'"
    // I do not know this method is correct.
    // Or have ohter better implementations.
    // And when i get queryparams, how to set the search model?
}

最佳答案

您只能使用 first 订阅第一个事件。 subscribe 回调只会被调用一次:

this.activatedRoute.queryParams.first().subscribe(params => {
    // do something
})

关于javascript - angular2 一旦使用填写搜索表单,如何在刷新页面后获取查询参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43991942/

相关文章:

javascript - 定义 Vue.js 计算属性的辅助方法

javascript - Rails 如何制作过滤链接

javascript - 调整窗口宽度时隐藏菜单

javascript - Angular 2 : setTimeout only called once

angular - spyOn 服务/组件 Angular2

Angular Material 概述输入和 ngx-translate

typescript - 新 Typescript 1.8.4 构建错误 : "Build: Property ' result' does not exist on type 'EventTarget' .“

angular - 如何在 Angular 中对行为主题进行单元测试

node.js - FetchError : graphql failed,原因:无法验证第一个证书

javascript - ZeroClipboard - 在复制之前添加到值