現(xiàn)在前端mvvm框架,呼聲最高的還是react,而且很多人都覺著尤雨溪有意向react靠齊,所以難免有這樣的疑惑?
各種所謂的「框架」現(xiàn)在都是相互取長補短,設(shè)計思想都會趨同。目前vue採用的是雙向綁定,用的是es5的Object.defineProperty
來實現(xiàn)的;
上面的圖中告訴我們,a對像下面的b屬性定義了getter、setter對屬性進行劫持,當屬性值改變是就會notify通知watch對象,而watch對象則會notify到view上對應(yīng)的位置進行更新,然後我們就看到了視圖的更新了,反過來當在視圖(如input)輸入資料時,也會觸發(fā)訂閱者watch,更新最新的資料到data裡面(圖中的a.b),這樣model資料就能即時回應(yīng)view上的資料變化了,這樣一個過程就是資料的雙向綁定了。
而react是單項綁定。僅僅這個,差別和思想都是不同的。
本質(zhì)上都不一樣,怎麼向React靠,不要以為Vue多了不少與React相似特性就說明往React靠,只是學習一些優(yōu)良的地方而已。