关于路由使用params还是query
params | query |
---|---|
…/pay/bankCard | …/pay?by=bankCard |
…/pay/wechat | …/pay?by=wechat |
本质区别: params 写入路由表,query 不写入路由表
那么引申的区别:
params 可以比较快捷的在路由表里面为不同的 params 配置不同的页面文件
query 也可以做到上述效果,但是由于路由表不记录 query,所以根据 query 配置不同页面的逻辑转移到页面上(例如 if 判断)
query 在客户端的 webview 中可以直接取值,而 params 对于客户端的 webview 来说,已经在 url 中,客户端无法知道哪一段才是 params,要取得 params,只能截取固定位置的片段来得到。
params 如果有多个变量,那么需要定义多次,…link/%${paramA}/link/%${paramB}, query 如果有多个变量,则只需…link?A=someValue&B=someOtherValue
注意:
不要将动态的 params 和指定的 params 混合使用。 例如…add/:id 和…/add/card,如果这样使用,card 可能也会被当成是一个 id,导致页面逻辑出错。
关于路由使用params还是query