window.location跳转和window.open跳转以及从url地址栏获取参数

路由跳转

1.window.location跳转和window.open跳转
a.跳转

a.在当前页面跳转
window.location = “/xxx/xxx/xxx?a=” + 参数1 + “&b=” + 参数2
b.打开另一个新页面跳转
window.open("/xxx/xxx/xxx")

注意:
1>
window.location是页面的位置对象,而window.location.href是location的一个属性,并且是默认属性,也就是说直接给window.location赋值其实就是修改window.location.href的属性值,所以:
window.location = “https://www.baidu.com/” 等价于 window.location.href = “https://www.baidu.com/”
2>
window.location和window.open都可以加网址实现跳转或者直接加路由路径实现跳转。

b.从url地址栏取参数
const url = location.search;
	var theRequest = new Object();
	if (url.indexOf("?") != -1) {
		var str = url.substr(1);
		let strs = str.split("&");
		for (var i in strs) {
			theRequest[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]);
		}
	}
console.log(theRequest)
2.RouterRedux跳转(dva框架)
组件A
import React, { Component } from "react";
import { routerRedux } from “dva/router”;

export default class 组件A extends Component {
	render() {
		return(
			<div>
				<button
					onClick={() => {
						let { dispatch } = this.props;
						dispatch(routerRedux.push({
							pathname: "/componentTwo",
							state: {
								type: "componentOne",
								data: value
							}	
						}))
					}}	
				>AAA<butotn>
			</div>
			
		)
	}
}


组件B
import React, { Component } from "react";

export default class 组件B extends Component {
	componentDidMount() {
		let { location } = this.props;
		let query = location.state;
		console.log(state);	// value
	}
	render() {
		return(
			<div></div>
		)
	}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值