鍍金池/ 問答/HTML/ 關(guān)于 vuex 使用中的一個(gè)循環(huán)依賴問題

關(guān)于 vuex 使用中的一個(gè)循環(huán)依賴問題

clipboard.png

有這樣一個(gè)需求,vuex 的 store 初始化的時(shí)候要獲取網(wǎng)頁二級(jí)域名地址,這里我記為變量 host。cookie 的設(shè)置是相對(duì)于二級(jí)域名設(shè)置的,也就是 a.xx.com 和 b.xx.com 要公用一套 cookie,所以 setCookie 以及 getCookie 函數(shù)需要用到 store 中的 host,然而 store 中有一些關(guān)于登錄,app 狀態(tài)等的 action 或者 mutation 需要操作 cookie,也就是說 store 中也要引用 setCookie 以及 getCookie 函數(shù),這就形成了循環(huán)依賴,請(qǐng)教下該如何解決?

自己想了下從兩個(gè)方向解決,要么就是 store 中不用 host,寫在全局變量里,但是太臟了,而且測(cè)試環(huán)境不好弄;要么就是登錄(記錄 token),app 等狀態(tài)設(shè)置(一些布爾值)的 setCookie 以及 getCookie 函數(shù)寫在具體的頁面里而不是 store 里,但是也覺得不優(yōu)雅,管理不集中了(目前 login 等操作都是統(tǒng)一寫在 mutation 里)

另外 host 是必須要?jiǎng)討B(tài)獲取的,因?yàn)檫@個(gè) host 并不是固定的,可能是一個(gè)類似 sass 的系統(tǒng)給很多域名用

求教

回答
編輯回答
熊出沒

host 當(dāng)作參數(shù)傳進(jìn)去

2017年11月13日 09:31
編輯回答
浪蕩不羈

初始化的時(shí)候獲取host,在登錄的時(shí)候不就可以直接使用了嗎,然后后面也可以獲取,這并不是循環(huán)引用,因?yàn)槟鉺tore中的host并不是通過操控cookie的函數(shù)獲得的。而且網(wǎng)頁的二級(jí)域名也很好獲取,就算你登錄的時(shí)候store中host還未獲取到,那你也可以直接從url中拿二級(jí)域名啊

2018年8月10日 10:20