Vue路由传参实例:
this.$router.push({
name: "approvalDetail",
query: {
processInstanceId: row.processInstanceId,
taskId: row.taskId,
processDefinitionKey: row.processDefinitionKey,
type: "1",
},
params: row,
});
- 接收时:this.route.query(看你用什么传的参);
- 在vue中,route读取和接收路由参数。
React路由传参实例:
- params(也叫动态路由传参):直接在link组件里的to属性的路径后面加上参数,直接用斜杠连接。
-
link方式:<Link to={ ' /sort/ ' + ' 2 ' } activeClassName='active'>XXXX</Link>; -
js方式 this.props.history.push( '/sort/'+'2' ); -
接收时:this.props.match.params
- search:也是直接在link组件里的to属性的路径后面加上参数,只不过这个是用?连接。
-
link方式:<Link to='/home?name=xx'>首页</Link>; -
接收时:this.props.location.search
- state传参(state传参是加密的):
-
link方式:<Link to={{path:'/demo',state:{name:'dahuang'}}}>XX</Link>; -
js方式:this.props.history.push({pathname:'/demo',state:{name:'dahuang'}}); -
接收时:this.props.location.state.name
- query传参(query传参是公开的):
-
link方式:<Link to={{path:'/demo',query:{name:'dahuang'}}}>XX</Link>; -
js方式:this.props.history.push({pathname:'/demo',query:{name:'dahuang'}}); -
接收时:this.props.location.query.name
state 和query传参的区别就是一个是加密的,一个是公开的。
vue中query和params的区别是什么
- query用path编写传参地址,而params用name编写传参地址,但实际上两者都可用name;
- query刷新页面时参数不会消失,而params刷新页面时参数会消失;
- query传的参数会显示在url地址栏中,而params传参不会显示在地址栏中。