Angular 2:如何在不使用Routing的情况下从URL获取params?

时间:2016-04-25 04:55:19

标签: asp.net-mvc razor angular angular2-routing

我试图将URL参数放入我的组件中以使用externsre服务进行搜索。我读过我可以使用angular2路线并使用RouteParams获取参数但我不认为这是我需要的,因为我的角应用程序的第一页是Razor视图。

我会尝试更好地解释。 我的网址如下:       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);

    }
}

所以我期待着这个城市&#39;在我的组件中获取从剃刀视图传递的字符串,但它未定义。

我做错了什么?有没有办法在不使用路由的情况下获取params?如果没有,使用剃须刀的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

Angular不为此提供特殊支持。您可以使用How can I get query string values in JavaScript?

从我所看到的Location计划进行重新设计,即使不使用路由器也能获得查询参数的支持。