我正在尝试将URL参数传递到我的组件中,以便使用外部服务进行搜索。我读到可以使用angular2路由并使用RouteParams获取参数,但我认为这不是我需要的,因为我的angular应用程序的第一页是一个Razor视图。
我会尝试更好地解释一下。我的URL看起来像: http://dev.local/listing/?city=melbourne 我正在使用以下方式在razor视图中加载我的根组件:
我会尝试更好地解释一下。我的URL看起来像: http://dev.local/listing/?city=melbourne 我正在使用以下方式在razor视图中加载我的根组件:
<house-list city = "@Request.Params["city"]"></house-list>
然后在我的根组件上我有:
export class AppComponent implements OnInit {
constructor(private _cityService: CityService) { }
response: any;
@Input() city: any;
ngOnInit() {
this.getHouses();
}
getHouses() {
this.__cityService.getHousesByCity(this.city)
.subscribe(data => this.response = data);
}
}
所以我期望在我的组件中获取 razor 视图传递的字符串 'city',但是它是未定义的。
我做错了什么?有没有一种方法可以不使用路由来获取参数?如果没有,使用 razor 的正确方式是什么?