redux-persist 這東西,看了一下npmjs上的文檔,有個State Reconciler的東西,這東西看有三個方法:hardSet,autoMergeLevel1,autoMergeLevel2。
const persistConfig = {
key: 'root',
storage,
stateReconciler: autoMergeLevel1,
}
放到配置里面,就能自動更新?可是...一點卵用都沒有!一點卵用都沒有!一點卵用都沒有!一點卵用都沒有!
然后我就想,既然他不自動更新,那我手動給他添加到localstorage里不就好了嗎,成功了,代碼如下
在你的reducers的下面
export default function reducer(state = initState, action) {
switch (action.type) {
case SAVEUSER:
state.user_data = action.UserData;
var locStore = JSON.parse(localStorage.getItem('persist:root'));
locStore.webState = JSON.stringify(state);
localStorage.setItem('persist:root',JSON.stringify(locStore));
return state;
case SAVEACTID:
state.ActID = action.ActID;
console.log(state,'actidddddddddddddddd');
var locStore = JSON.parse(localStorage.getItem('persist:root'));
locStore.webState = JSON.stringify(state);
localStorage.setItem('persist:root',JSON.stringify(locStore));
return state;
default:
return state
}
}
關(guān)鍵語句是對localstorage的操作,本來想的是,能不用locakstorage這種不安全不可靠用戶可修改的方式完成,現(xiàn)在到最后還是用了localstorage!
老哥, 我發(fā)現(xiàn)問題了, 是你沒兼容Safari ....,
this.multipleSelection 存放的就是你目前選中的所有項。
// 點擊刪除全部時
this.multipleSelection.forEach(selectedItem => {
// 刪除請求
axios({
url: '/xxxxxxx/delete/' + selectedItem.id,
method: 'get',
dataType: 'json'
})
})
PS: 上述已經(jīng)能夠處理批量刪除請求了,不過需要執(zhí)行批量全部成功刪除的回調(diào)的話,要么用axios.all,要么用Promise.all,原理都差不多
1.篩選條件的change事件對應(yīng)的事件只要寫一個方法就可以了,如changeSelect,因為過濾不止要兼顧當前選擇的過濾條件,還要兼顧其他選擇的選項,如現(xiàn)在選了分類,但之前選過的狀態(tài)也得保留。
2.一般如果數(shù)據(jù)量比較大的話,篩選條件是要作為參數(shù)傳給后臺,后臺過濾之后返回給前臺渲染即可,畢竟服務(wù)器的處理速度比瀏覽器的處理速度快的不止一丟丟
3.假如需要前臺渲染,拿到所有數(shù)據(jù)以后,在changeSelect方法中,首先獲取所有過濾項的值,也就是v-model所綁定的值,舉個例子,過濾了state為處理中且分類是開發(fā)的話,那就在表格數(shù)據(jù)渲染的時候(假如從后臺拿到的數(shù)據(jù)數(shù)組為res),判斷res[i].state==this.selectState&&res[i].sort==this.selectSort的話將數(shù)據(jù)放到表格數(shù)據(jù)中進行渲染,否則不渲染。
建議過濾項讓后臺提供篩參數(shù),使用第二種方式。
優(yōu)化持久化緩存的, runtime 指的是 webpack 的運行環(huán)境(具體作用就是模塊解析, 加載) 和 模塊信息清單, 模塊信息清單在每次有模塊變更(hash 變更)時都會變更, 所以我們想把這部分代碼單獨打包出來, 配合后端緩存策略, 這樣就不會因為某個模塊的變更導(dǎo)致包含模塊信息的模塊(通常會被包含在最后一個 bundle 中)緩存失效. optimization.runtimeChunk 就是告訴 webpack 是否要把這部分單獨打包出來.
題主還是沒有理解數(shù)據(jù)驅(qū)動的精髓
首先v-for出來的每一個子項是需要一個key來保證正確渲染的
<span v-for="(item, index) in productTabs" :key="index">{{ item }}</span>
然后你要實現(xiàn)對應(yīng)tab激活,可以初始化一個變量active來保存狀態(tài)
<span>
v-for="(item, index) in productTabs"
:class="active === item ? 'active-class' : ''"
:key="index"
@click="activeTab(item)">
{{ item }}
</span>
activeTab(item) {
this.active = item
}
以上只是一種方案,僅供參考,當你習(xí)慣了數(shù)據(jù)驅(qū)動的模式,就不會再去想DOM操作了
哈哈,這個我剛用axios時也遇到過,jq的ajax是默認 application/x-www-form-urlencoded 的,也就是已經(jīng)加密過的,但是 axios 不是。
為了不污染變量呀。
如果不用立即執(zhí)行函數(shù)的話,var instance 就造成變量名污染了。
dedecms
一般放在created比較好些
export default new Router({
base:'/abcd/',
routes: [{ path: "/list",component:list}],
})
然后用this.$router.push('/list')的時候,就換跳轉(zhuǎn)到 /abcd/list你就不會加個隨機數(shù)或者時間戳
handleChange($event,scope.row)
改了樣式?是否為類似偽類擋住原始元素的情況?
提示說的很清楚,沒有這個方法,就自己寫一個這個方法。
def create_node(tag, property_map, content):
'''''新造一個節(jié)點
tag:節(jié)點標簽
property_map:屬性及屬性值map
content: 節(jié)點閉合標簽里的文本內(nèi)容
return 新節(jié)點'''
element = Element(tag, property_map)
element.text = content
return element
需要增加節(jié)點的地方調(diào)用一下這個函數(shù)就可以了。
管理系統(tǒng)的權(quán)限控制,之前做的是,根據(jù)登錄的角色權(quán)限一次獲取所有的菜單列表循環(huán)上去。
你這樣層級獲取的目的是?菜單列表數(shù)量巨大的原因?
this version of npm is compatible with lockfileVersion@1, but
npm-shrinkwrap.json was generated for lockfileVersion@
這個版本的npm與lockfileVersion@1兼容,但是你的npm-shrinkwrap.json由lockfileVersion@0. I生成
更新一下lockfileVersion
document.getElementsByTagName('iframe'); 返回的是個動態(tài)集合, 里面的內(nèi)容會在每次取值的時候變化.
如果在 console.log(ifr); 和 console.log(ifr[0]); 兩天語句之間, 頁面內(nèi)的 iframe 被從文檔中移除的話, 那么 console.log(ifr[0]) 此時就會變成 undefined. 題住可以在 console.log(ifr[0]) 后再輸出次 ifr 確定一下是否發(fā)送了這種情況.
console.log(ifr);
console.log(ifr[0]);
console.log(ifr); // 確認此時 ifr 是否還有內(nèi)容可以將socket對window,這樣就變成一個全局的了,你可以隨時修改他。
建議將socket的onmessage的值放到redux的state中,不要放到組件的state中。
如果只是在組件中使用socket,那么在componentWillUnmount的時候?qū)?code>websocket close掉。
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負責(zé)iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。