亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從Angular 2中的url獲取查詢參數?

如何從Angular 2中的url獲取查詢參數?

Smart貓小萌 2019-09-20 14:55:59
我使用angular2.0.0-beta.7。將組件加載到/path?query=value1重定向到的路徑上時/path。為什么要刪除GET參數?如何保存參數?我在路由器中有錯誤。如果我有像這樣的主要路線@RouteConfig([  {      path: '/todos/...',      name: 'TodoMain',      component: TodoMainComponent  }])和我的孩子一樣的路線@RouteConfig([  { path: '/', component: TodoListComponent, name: 'TodoList', useAsDefault:true },  { path: '/:id', component: TodoDetailComponent, name:'TodoDetail' }])然后我無法在TodoListComponent中獲取參數。我能得到params("/my/path;param1=value1;param2=value2") 但我想要經典query params("/my/path?param1=value1&param2=value2")
查看完整描述

3 回答

?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

通過注入一個實例,ActivatedRoute可以訂閱各種可觀察對象,包括a queryParams和paramsobservable:


import {Router, ActivatedRoute, Params} from '@angular/router';

import {OnInit, Component} from '@angular/core';


@Component({...})

export class MyComponent implements OnInit {


  constructor(private activatedRoute: ActivatedRoute) {}


  ngOnInit() {

    // Note: Below 'queryParams' can be replaced with 'params' depending on your requirements

    this.activatedRoute.queryParams.subscribe(params => {

        const userId = params['userId'];

        console.log(userId);

      });

  }


}

關于取消訂閱的說明


@Reto和@ codef0rmer非常正確地指出,根據官方文檔,在這種情況下unsubscribe(),組件onDestroy()方法內部是不必要的。這已從我的代碼示例中刪除。(參見本教程中的藍色警告框)


查看完整回答
反對 回復 2019-09-20
  • 3 回答
  • 0 關注
  • 982 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號