angular 2 怎么获取当前地址栏的URL

后台自动跳转的URL,请问ng2怎么获取地址栏的URL,以及其中的参数?
网上搜的答案是ng1的,方法是let aid=$location.search().aid;这样的。但是在ng2里找不到$location这个。

阅读 23.4k
10 个回答

这还是angular2时候提问的。我当时主要是想拿到参数
先引入这个import {Location}from '@angular/common'
//location.href 取当前地址;
var addressUrl = location.search.slice(1);//取参数

var searchParams = new URLSearchParams(addressUrl);
let score = searchParams.get('score')//取参数score;
 import {Component,OnInit} from '@angular/core';
 import {Location} from '@angular/common';
 
 export class testComponent implements OnInit {
  constructor(public Location: Location) {
  }

   ngOnInit() {
this.Location.path();
//这边就拿到url地址了
}
    

window.location.href
好像不需要ng2的方法吧

import { Component, OnInit, Inject } from '@angular/core';
import {ActivatedRoute, Params} from '@angular/router';

@Component({
    selector: 'demo',
    template: `<div></div>`
})
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...

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

新手上路,请多包涵

window.location.href //当前地址栏的URL
this.sub = this.route.params.subscribe(params => {

        let 变量 = +params['参数名'];
        });
        //当前地址参数

官方例子:Location,

    import {Component} from '@angular/core';
    import {Location} from '@angular/common';
    @Component({selector: 'app-component'})
    class AppCmp {
      constructor(location: Location) {
        location.go('/foo');
      }
    }

我也遇到了这个问题,确实找不到,同求

说一下获取参数,
import {ActivatedRoute} from '@angular/router';
官方非要你用rxjs,但是这样强行用也是没问题的:
this._activatedRoute.params'value'

新手上路,请多包涵

比较笨的办法,但是能获取到,自己在打印的内容中看看。
import { Component, OnDestroy, Inject, Optional, OnInit } from '@angular/core';
import { PlatformLocation } from '@angular/common';
@Component({
selector: 'passport-login',
templateUrl: './login.component.html'
})
export class UserLoginComponent implements OnDestroy {
constructor(
public platformLocation: PlatformLocation,
) {
const p: any = this.platformLocation;
console.log(p.location);
console.log(p.location.hostname);
}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进