1. 程式人生 > >關於不同頁面的傳參分析

關於不同頁面的傳參分析

lar shu host path window nsh log ati value

很長時間沒寫博客了 ,工作忙到也沒有時間去整理這段時間遇到的問題。現在可以好好梳理一下了。

這兩天在做移動端項目時,遇到了在不同頁面傳參的事。回顧了一下這幾年在項目遇到的頁面傳參的情況,現在梳理一下。

先說原生js的傳參吧。

①可以將參數放到下一個頁面的路徑後面,通過window.location.search的方式去截取參數。

Window對象的location屬性引用的是Location對象,它表示該窗口中當前顯示的文檔的URL。Location對象包含以下屬性: protocol, host, hostname, port, pathname和search。

search: 返回的是問號之後的URL,這部分通常是某種類型的查詢字符串。一般來說,這部分內容是用來參數化URL並在其中嵌入參數的。主流瀏覽器(IE、FireFox、Chrome、Safair、Opera)都支持該屬性。

例如:a頁面跳轉至b頁面需要傳遞一些參數,我們可以將這些參數放在路徑中,例如url:http://www.baidu.com?name=‘amy‘&age=10;

在b頁面中,可以通過window.location.search的方式獲得?後面的參數部分,parames = “name=‘amy‘&age=10“,然後可以根據自己的需要截取字符串。

②在之前做項目時,用到了APICloud框架提供的傳參方式。在他們自己封裝的方法中,可以將參數作為對象傳給下一個頁面,原理和第一個相同,我就直接舉例了

api.openWin({ name: ‘page1‘, url: ‘./page1.html‘, pageParam: { name: ‘test‘ } });

這種方式其實也是將參數放在了路徑中,在下一個頁面,直接獲取pageParam即可。

③就是使用框架(angular,vue,react)的router方式。先說一下它的原理吧,原理基本一樣。具體的demo會放在gitHub中,有興趣的可以看一下。其原理和原生js一樣。

關於react的頁面傳參,可以參考 https://blog.csdn.net/qtfying/article/details/77939171 ;https://blog.csdn.net/sinat_17775997/article/details/74679726

關於angular的頁面傳參,方式還是比較多的,可以選擇自帶的,可以參考的博客https://www.jianshu.com/p/07cdc478ed0e

關於vue的頁面傳參,可以參考 https://blog.csdn.net/qq_34109078/article/details/73028611

關於不同頁面的傳參分析