簡體   English   中英

角度UI路由器,通過URL / URL變量保存狀態?

[英]Angular ui-router, save state by url/url variables?

有一個有趣的問題,我正在嘗試查看是否可以使用angulars ui路由器插件解決。 我想做的是通過自定義網址保存視圖狀態。

我已經建立了一個非常基本的示例,看這是否可行,然后我想對此進行抽象!

所以我很簡單

$scope.test = false;

然后在頁面上單擊ng鍵,可以在true和false之間切換此測試變量。 所以我想看看是否可以保存該狀態並將其傳遞給我-假設我將其更改為true,那么我希望能夠保存一個URL,然后轉到該URL,當我進入該URL時,然后將變量更改為true(而不是控制器中默認的false)

所以我想我可以嘗試類似

url: "test/{form_id}"

(我假設這是這樣工作的),但是我可能想傳遞的不僅僅是一個id。 最好的情況是我可以完全通過url傳遞一個對象(或者引用一個,我知道傳遞一個對象聽起來很愚蠢),但是否則我假設在任一端我都必須建立一種方法來為id和解釋它的方法。 如果我可以將其塑造為多態的,那將是很棒的,但是我的第一步是嘗試在較低水平上做到這一點。

因此,我的想法是-每次單擊更改時,都會設置一個變量,然后可以在url上進行設置。 如果將該URL提供給已登錄該應用程序並轉到該視圖的某人,則控制器將從URL得知需要在加載時更改$ scope.test = true。 我想知道是否有可能用angular-ui-router來解決這個問題,如果可以,如果有人願意提供一些指導,我將不勝感激。 感謝您的閱讀!

您實際上無法傳遞參考,因為您正在談論該應用程序的2個不同實例。 但是您可以對對象進行JSON編碼,對其進行urlencode並將其傳遞到URL。 如果太大,將無法在所有瀏覽器中使用。 在許多情況下,擁有更多的語義URL也將是“更好”的選擇,即與其傳遞一個較大的舊Blob,而使用有意義的參數並將其傳遞。

$ routeParams的文檔位於https://docs.angularjs.org/api/ngRoute/service/ $ routeParams

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM