摘要:本文主題里數(shù)據(jù)的處理存放數(shù)據(jù)我們先看里哪里能存放數(shù)據(jù)單個(gè)文件里。官方插件,作為一個(gè)集中管理經(jīng)常復(fù)用的數(shù)據(jù)很有用。數(shù)據(jù)傳遞數(shù)據(jù)傳遞也分幾種情況全局傳遞。數(shù)據(jù)的修改有以下幾個(gè)別去修改,本身就是基于依賴,但是是個(gè)很好的展示數(shù)據(jù)容器。
背景:
一個(gè)項(xiàng)目完工在即,鑒于此,前端使用了vue,寫下此欄,以供日后翻閱, 會涉及到我所運(yùn)用到的vue相關(guān)知識,需要一定的js基礎(chǔ)。 默認(rèn)vue的single-file-components(單文件組件開發(fā))既sfc。
本文主題
vue里數(shù)據(jù)的處理 存放數(shù)據(jù)我們先看vue里哪里能存放數(shù)據(jù):
1.單個(gè)vue文件里。
2.官方插件vuex,作為一個(gè)集中管理經(jīng)常復(fù)用的數(shù)據(jù)很有用。
3.直接聲明在vue實(shí)例上,用$號標(biāo)識。
第一種情況下存放數(shù)據(jù)對于單個(gè)文件又分這幾種屬性
1.1 data(常規(guī)使用,默認(rèn)函數(shù)返回:忘記為啥了)
1.2 computed(計(jì)算,也就說,這是一個(gè)基于其他屬性的屬性)
1.3 watch(監(jiān)聽屬性,官方推薦在此分類下的屬性用于觸發(fā)異步函數(shù))
1.4 props(特殊,用來接收父組件向子組件傳遞的屬性)
1.5 propsData(特殊,貌似是用來測試的)
第二種情況下數(shù)據(jù)存放都在state里
第三種情況是特別特別特別的,不討論(都有vux,還用什么$號啊)。
數(shù)據(jù)傳遞也分幾種情況
1.全局傳遞。
2.父向子傳遞。
3.子向父傳遞。
第一種情況,請使用vuex,注意刷新會清空
第二種情況,子聲明props,父在子組件上聲明這個(gè)屬性,就能傳遞下去
第三種情況,一般情況就用事件提交,父監(jiān)聽子聲明的事件,然后就能接收到了
這里對props和事件做個(gè)特殊說明,假如運(yùn)用了第三方的vue框架,你可能就是封裝一下
對方的組件使其變成專用的子組件,這個(gè)時(shí)候,方法啊,屬性啊,都在第三方組件上
而你封裝的木有。如果一個(gè)個(gè)在去聲明,第三方組件的props或者event著實(shí)累,自然有
簡便的api啦。vm.$attrs,vm.$listener,然后你封裝的子組件就把所有事件和屬性都會被
第三方的組件所監(jiān)聽。vm.$listener,除法你開發(fā)了特殊的指令,否則,不用官網(wǎng)那樣聲明,第三方聲明的事件都會被監(jiān)聽。
有以下幾個(gè)note:
1.computed
別去修改,本身就是基于依賴,但是computed是個(gè)很好的展示數(shù)據(jù)容器。它原本是只有g(shù)et方法,但是可以聲明set方法。
2.watch
有兩個(gè)屬性,deep和immediate,一個(gè)是深度檢測,一個(gè)是立即執(zhí)行,相當(dāng)于任務(wù)隊(duì)列的第一個(gè)觸發(fā),deep不如直接用"foo.bar"的形式來監(jiān)視.
如果同時(shí)監(jiān)視N個(gè)屬性,而這幾個(gè)屬性又都有關(guān)聯(lián)性,個(gè)人推薦,這個(gè)時(shí)候,不要用watch,不如去監(jiān)聽事件,用switch語句更加方便,尤其是在有異步方法存在的時(shí)候,異步隊(duì)列搞得心都碎了。
3.props
最好有默認(rèn)值
4.比較簡單便捷的方式,是引用某個(gè)組件,參開api里的ref。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/98758.html
摘要:引言兩個(gè)月前用全家桶實(shí)現(xiàn)過一次酷狗音樂,最近又用全家桶重構(gòu)了下,最終成果和的實(shí)現(xiàn)基本一致,放個(gè)圖手機(jī)預(yù)覽戳版本版本。的行為結(jié)構(gòu)表現(xiàn)分離,很明顯,而的分離雖然不是很明顯,但實(shí)際上也是有的。發(fā)送指令,最終會到里合并數(shù)據(jù),與中的類似。 引言 兩個(gè)月前用 Vue 全家桶實(shí)現(xiàn)過一次 酷狗音樂,最近又用 React 全家桶重構(gòu)了下,最終成果和 Vue的實(shí)現(xiàn)基本一致,放個(gè)圖: showImg(htt...
摘要:解析器的狀態(tài)機(jī)設(shè)計(jì)首先要說文件夾里有各種財(cái)寶等著大家挖掘認(rèn)真看一看一定不會后悔的主要的職責(zé)是可以把一個(gè)數(shù)據(jù)里的某一個(gè)路徑下的數(shù)據(jù)取出來,比如所以對字符串的解析成為了它的關(guān)鍵。 最近饒有興致的又把最新版 Vue.js 的源碼學(xué)習(xí)了一下,覺得真心不錯(cuò),個(gè)人覺得 Vue.js 的代碼非常之優(yōu)雅而且精辟,作者本身可能無 (bu) 意 (xie) 提及這些。那么,就讓我來吧:) 程序結(jié)構(gòu)梳理 s...
摘要:實(shí)際上,我在看代碼的過程中順手提交了這個(gè),作者眼明手快,當(dāng)天就進(jìn)行了修復(fù),現(xiàn)在最新的代碼里已經(jīng)不是這個(gè)樣子了而且狀態(tài)機(jī)標(biāo)識由字符串換成了數(shù)字常量,解析更準(zhǔn)確的同時(shí)執(zhí)行效率也會更高。 最近饒有興致的又把最新版?Vue.js?的源碼學(xué)習(xí)了一下,覺得真心不錯(cuò),個(gè)人覺得 Vue.js 的代碼非常之優(yōu)雅而且精辟,作者本身可能無 (bu) 意 (xie) 提及這些。那么,就讓我來吧:) 程序結(jié)構(gòu)梳...
摘要:實(shí)際上,我在看代碼的過程中順手提交了這個(gè),作者眼明手快,當(dāng)天就進(jìn)行了修復(fù),現(xiàn)在最新的代碼里已經(jīng)不是這個(gè)樣子了而且狀態(tài)機(jī)標(biāo)識由字符串換成了數(shù)字常量,解析更準(zhǔn)確的同時(shí)執(zhí)行效率也會更高。 最近饒有興致的又把最新版?Vue.js?的源碼學(xué)習(xí)了一下,覺得真心不錯(cuò),個(gè)人覺得 Vue.js 的代碼非常之優(yōu)雅而且精辟,作者本身可能無 (bu) 意 (xie) 提及這些。那么,就讓我來吧:) 程序結(jié)構(gòu)梳...
閱讀 2915·2021-11-25 09:43
閱讀 2342·2021-11-24 09:39
閱讀 2724·2021-09-23 11:51
閱讀 1416·2021-09-07 10:11
閱讀 1461·2019-08-27 10:52
閱讀 1948·2019-08-26 12:13
閱讀 3369·2019-08-26 11:57
閱讀 1406·2019-08-26 11:31