2017-05-16 5 views
0

検索フォームを送信すると、URLクエリのパラメータが変更されます。angular2更新ページの後にqueryparamsを取得するには一度検索フォームに記入しますか?

私がページを更新するとき、私はqueryparamsを取得し、検索フォームを自動完成します。

しかし、私は一度だけそれを取得したいので、変更を購読しないでください。

これは私の検索モデルである:

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? 
} 

答えて

1

あなただけfirstを使用して最初のイベントをサブスクライブすることができます。 subscribeコールバックは1回だけ呼び出されます。

this.activatedRoute.queryParams.first().subscribe(params => { 
    // do something 
}) 
関連する問題