Heim > Fragen und Antworten > Hauptteil
后台自动跳转的URL,请问ng2怎么获取地址栏的URL,以及其中的参数?
网上搜的答案是ng1的,方法是let aid=$location.search().aid;这样的。但是在ng2里找不到$location这个。
淡淡烟草味2017-05-15 17:11:22
angular 2 不可能没有$location吧
//1.获取当前完整的url路径
var absurl = $location.absUrl();
//http://172.16.0.88:8100/#/homePage?id=10&a=100
//2. 获取当前url路径(当前url#后面的内容,包括参数和哈希值):
var url = $location.url();
// 结果:/homePage?id=10&a=100
Angular 通过注入 $location 获取与修改当前页面URL
黄舟2017-05-15 17:11:22
window.location.href //当前地址栏的URL
this.sub = this.route.params.subscribe(params => {
let 变量 = +params['参数名'];
});
//当前地址参数
PHP中文网2017-05-15 17:11:22
官方例子:Location,
import {Component} from '@angular/core';
import {Location} from '@angular/common';
@Component({selector: 'app-component'})
class AppCmp {
constructor(location: Location) {
location.go('/foo');
}
}
某草草2017-05-15 17:11:22
import { Component, OnInit, Inject } from '@angular/core';
import {ActivatedRoute, Params} from '@angular/router';
@Component({
selector: 'demo',
template: `<p></p>`
})
export class DemoComponent implements OnInit {
constructor(@Inject(ActivatedRoute) private router: ActivatedRoute) { }
ngOnInit() {
this.router.params.subscribe((params: Params) => {
// params
});
}
}
https://angular.io/docs/ts/la...
漂亮男人2017-05-15 17:11:22
说一下获取参数,
import {ActivatedRoute} from '@angular/router';
官方非要你用rxjs,但是这样强行用也是没问题的:
this._activatedRoute.params'value'