Vue基礎

1 計算屬性computed和watch和methods的區(qū)別

計算屬性和方法確實能達到相同的結果捎迫,但是計算屬性是基于響應式依賴進行緩存的统刮。只要相關響應式依賴發(fā)生變化時他們才重新求值。這就意味著只要依賴沒有發(fā)生變化污抬,多次訪問計算屬性會立即返回之前的結果汞贸,而不必再次執(zhí)行函數(shù)绳军。相反的每次重新渲染的時候,調用方法總會再次執(zhí)行

計算屬性和watch的區(qū)別

計算屬性默認首次會觸發(fā)矢腻,計算屬性性能較高门驾,因為計算屬性是根據(jù)依賴進行改變的,依賴沒有變化計算屬性就會用上一次計算后的緩存立即返回結果多柑。必須在模板渲染的時候調用才生效奶是,一般適合做篩選。watch數(shù)據(jù)觀測默認首次不觸發(fā)竣灌,只有數(shù)據(jù)發(fā)生變化時才會觸發(fā)聂沙。可以不在模板渲染時生效初嘹,只是單純的觀測data選項中的一個數(shù)據(jù)名及汉。一般適合需要在數(shù)據(jù)變化時執(zhí)行異步操作或開銷過大的操作。


2 生命周期

Vue生命周期分為8個階段屯烦,創(chuàng)建前后坷随,掛載前后,更新前后驻龟,銷毀前后

beforecreate:Vue的實例VM中$el和data都未初始化温眉,都是undefined。

created:完成了data的初始化翁狐,但el還未初始化芍殖。

beforemount:完成了data和$el的初始化,進行相關的render函數(shù)的首次調用谴蔑。實例已經(jīng)完成編譯模板豌骏,把data里面的數(shù)據(jù)和模板生成HTML,但沒有掛載到真實dom,只是掛在虛擬dom上隐锭。

mouted:用上面編譯好的HTML內容替換el屬性指向的dom對象窃躲。完成模板中HTML渲染到HTML頁面中。

beforeupdate:在數(shù)據(jù)更新之前調用钦睡,發(fā)生在虛擬dom重新渲染和打補丁之前蒂窒,可以在這個鉤子函數(shù)里面進一步更改狀態(tài),不會觸發(fā)附加的重新渲染過程荞怒。

updatad:在數(shù)據(jù)更改導致虛擬dom重新渲染和打補丁之后調用洒琢。調用的時候組件dom已經(jīng)更新,所以可以執(zhí)行依賴于dom的操作褐桌。但是應該避免在此狀態(tài)下更新狀態(tài)衰抑,因為可能造成更新無線循環(huán)。

beforedestory:實例銷毀之前荧嵌,實例仍然可用

destoryed:在實例銷毀之后調用呛踊。調用后砾淌,所有的事件監(jiān)聽和子實例也會被銷毀。


3 組件通訊

父到子

子組件通過props接收父組件的傳值

子組件向父組件通訊

父組件向子組件傳遞事件方法谭网,子組件通過$emit觸發(fā)事件汪厨,回調給父組件

兄弟組件通訊:

可以實例一個bus作為媒介,要相互通訊的兄弟組件之中愉择,都引入bus劫乱,然后通過分別調用bus事件觸發(fā)和監(jiān)聽來實現(xiàn)通訊和參數(shù)傳遞


4 vuex

vuex就是一個倉庫,倉庫存放了很多對象锥涕,其中state就是數(shù)據(jù)源存放地要拂,對應一般Vue中的data數(shù)據(jù)。state里面存放的數(shù)據(jù)是響應式的站楚,Vue組件從store讀取數(shù)據(jù)脱惰,如果store中的數(shù)據(jù)發(fā)生變化,則依賴這些數(shù)據(jù)的組件也會發(fā)生更新窿春。

vuex有5個屬性拉一,state,action旧乞,mutation,,getter,modual

state:vuex使用單一的狀態(tài)樹蔚润,即每個應用僅僅包含一個store。存放的數(shù)據(jù)狀態(tài)尺栖,不可以直接修改里面的數(shù)據(jù)嫡纠。

action:主要是業(yè)務處理,異步操作數(shù)據(jù)延赌。用this.$store.dispatch將函數(shù)類型和負載傳給mutation

mutation:是同步的除盏,主要是拿到公共數(shù)據(jù)和負載進行突變

getters:類似Vue中計算屬性,主要過濾一些數(shù)據(jù)

module:由于單一的狀態(tài)樹挫以,應用的所有狀態(tài)都會集中到一個比較大的對象中者蠕。當應用變的比較復雜時,store對象就有可能變得十分臃腫掐松。所以vuex允許將store分割成模塊踱侣,每個模塊都有自己的action,mutation大磺,state抡句,getter


5 雙向綁定的原理

主要是采用數(shù)據(jù)劫持和訂閱發(fā)布的模式實現(xiàn)的。通過object.defineProperty來劫持各個屬性的getter,setter,在數(shù)據(jù)變動時發(fā)布消息給訂閱者杠愧,觸發(fā)響應的監(jiān)聽回調待榔。


6 Vue-router的原理

vue-router通過hashHistory interface兩種方式實現(xiàn)前端路由,更新視圖但不重新請求頁面”殴蹄。選擇mode類型之后究抓,程序會根據(jù)你選擇的mode 類型創(chuàng)建不同的history對象(HashHistory或HTML5History或AbstractHistory)猾担。

HashHistory可以通過push和replace來跳轉頁面袭灯,push是向history添加一條記錄刺下,瀏覽器可以前進后退,replace是替換當前路由稽荧,并沒有向history添加新紀錄橘茉,所以沒有前進和后退。

History interface是瀏覽器歷史記錄棧提供的接口姨丈,通過back(), forward(), go()等方法畅卓,我們可以讀取瀏覽器歷史記錄棧的信息,進行各種跳轉操作蟋恬。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末翁潘,一起剝皮案震驚了整個濱河市草戈,隨后出現(xiàn)的幾起案子客扎,更是在濱河造成了極大的恐慌帚戳,老刑警劉巖扎即,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抢埋,死亡現(xiàn)場離奇詭異谋作,居然都是意外死亡洲鸠,警方通過查閱死者的電腦和手機疯兼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門乔遮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來扮超,“玉大人,你說我怎么就攤上這事蹋肮〕鏊ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵坯辩,是天一觀的道長巷蚪。 經(jīng)常有香客問我,道長濒翻,這世上最難降的妖魔是什么屁柏? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮有送,結果婚禮上淌喻,老公的妹妹穿的比我還像新娘。我一直安慰自己雀摘,他們只是感情好裸删,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著阵赠,像睡著了一般涯塔。 火紅的嫁衣襯著肌膚如雪肌稻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天匕荸,我揣著相機與錄音爹谭,去河邊找鬼。 笑死榛搔,一個胖子當著我的面吹牛诺凡,可吹牛的內容都是我干的。 我是一名探鬼主播践惑,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼腹泌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了尔觉?” 一聲冷哼從身側響起凉袱,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎侦铜,沒想到半個月后专甩,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡泵额,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年配深,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嫁盲。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡篓叶,死狀恐怖,靈堂內的尸體忽然破棺而出羞秤,到底是詐尸還是另有隱情缸托,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布瘾蛋,位于F島的核電站俐镐,受9級特大地震影響,放射性物質發(fā)生泄漏哺哼。R本人自食惡果不足惜佩抹,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望取董。 院中可真熱鬧棍苹,春花似錦、人聲如沸茵汰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至栏豺,卻和暖如春彬碱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背奥洼。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工巷疼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人溉卓。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓皮迟,卻偏偏與公主長得像搬泥,于是被迫代替她去往敵國和親桑寨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355