2017-02-19 36 views
0

我正在尋找一種方法將mac id傳遞到服務使用路由來過濾數據。 在我的app.html我有一個下拉菜單,其中我有一個mac地址列表顯示(手動編寫)。使用角激活路線如何獲得mac id到角度服務,以便我可以在過濾器中使用它方法。如何獲得:id參數angular2服務使用路由

[app.html]

<ul class="dropdown-menu scrollable-menu" role="menu"> 

     <li><a routerLink="mac/:id">3s-ds-23-sf-23-ce-33</a></li> 
     <li><a routerLink="mac/:id">3s-ds-23-sf-23-ce-34</a></li> 
     <li><a routerLink="mac/:id">3s-ds-23-sf-23-ce-35</a></li> 

</ul> 

service.ts

@Injectable() 
export class TabuleService { 

    //private headers = new Headers({'Content-Type': 'application/json'}); 
    private _Url = 'http://localhost:3000'; // URL to web api 

    constructor(
    private _http: Http, 
    private route: ActivatedRoute) {} 



getTemperature(): Observable<testing\[\]> { 
    const url = this._Url+'/temperature';      
    return this._http.get(url) 
       .map(res =>{ 
       let data=res.json(); 
       let parsedData = \[\]; 
// here i need to get parameter of mac from the routes to filter 
       data.filter(function(el){ return el.mac=="3s-ds-23-sf-23-ce-35" }) 

       .forEach(function(item){ parsedData.push({ 
          x:item.epoch_time_stamp, y:parseFloat(item.temp) }); }); 
          //console.log(parsedData); 
       return parsedData; }) 
       .catch(this.handleError); 
       } 

enter image description here

+4

的可能的複製[Angular2 ActivatedRoute參數爲undefined(http://stackoverflow.com/questions/42323644/angular2-activatedroute-parameter-is-undefined) – Aravind

+0

我可以不明白你想達到的目標。首先,如果您想通過鏈接傳遞ID,則ID應該是鏈接的一部分。你總是傳遞':id',而不是傳遞實際的ID:'routerLink =「mac/3s-ds-23-sf-23-ce-33」'。 –

回答

0
<ul class="dropdown-menu scrollable-menu" role="menu"> 

     <li *ngFor="address in macAddress> 
      <a [routerLink]="['/mac', address]"> 
       {{address}} 
      </a> 
    </li> 
</ul> 

在您的組件,

macAddress:Array<string>=['3s-ds-23-sf-23-ce-33', '3s-ds-23-sf-23-ce-34', '3s-ds-23-sf-23-ce-35'; 

你不能使用參數

constructor(
    private _http: Http, 
    private route: ActivatedRoute) { 
      this.mac= this.route.params.subscribe(params => { 
        this.category = + params['address']; 


    }); 
} 
相關問題