如何使用queryParam?

时间:2019-03-29 11:54:20

标签: angular service queryparam

在这里我有一个课堂项目,需要在其中创建一个Bookite,其中包含一些Books信息。现在应该从URL中获取book信息。

 myurl  = "http://advjavaapp-env.imadbprai6.us-west- 
2.elasticbeanstalk.com/booksapp/books";

现在我已经获取了详细信息..但是在Booksite中有一个导航栏,其中包含诸如Newarrivals,Select Genre(带有选项Children,Fiction,mystery的下拉列表)和All Books之类的选项。我必须使用queryParam来显示根据名称的结果。条件是

对于所有图书,显示的URL是/ books。数据是从myurl / booksapp / books中获取的,其中myurl是
    http://advjavaapp-env.imadbprai6.us-west-2.elasticbeanstalk.com

Books by Genre是一个包含Fiction,Children,Mystery的下拉列表。显示的URL是/ books / selopt,其中selopt是下拉列表中的选定选项。数据是从myurl / booksapp / books / selopt中提取的。

对于新到达者,显示的URL是/ books?newarrival = yes。数据是从myurl / booksapp / books?newarrival = yes

获取的

请帮我解决这个问题,因为我从最近两天开始尝试这样做。

我到目前为止所做的工作。

在Booksdetails.Component.ts

myurl   = "http://advjavaapp-env.imadbprai6.us-west- 
 2.elasticbeanstalk.com/booksapp/books";

url: URL[] = [];
showmyurl: URL[] = [];
newarrival: string;
url1: string = this.myurl + '?newarrival' + this.newarrival;

ngOnInit() {
  this.route.queryParamMap.subscribe(params => {
  console.log(params);
  this.newarrival = params[ 'newarrival' ];
   });
}

 new(){
   this.netService.getData(this.url1)
   .subscribe(resp => {
    this.showmyurl = resp;
    })
  }

1 个答案:

答案 0 :(得分:0)

将代码更改为以下

ngOnInit() {
   this.route.queryParamMap.subscribe(params => {
   console.log(params);
   this.newarrival = params.params[ 'newarrival' ];
  });
}

new(){
 this.url1 = this.myurl + '?newarrival=' + this.newarrival;
 this.netService.getData(this.url1)
 .subscribe(resp => {
  this.showmyurl = resp;
   })
}