Vue.js--0.基礎入門

vuejs介紹

vue.js是一款輕量級的MVVM框架领曼,同時吸收了angularreact的優(yōu)點,強調了react組件化的概念輕松實現(xiàn)數(shù)據(jù)和展現(xiàn)的分離蛮穿;吸收了angular靈活的指令和頁面操作的一些方法庶骄;

1.近年來前端開發(fā)趨勢

  • 舊瀏覽器逐漸淘汰,移動端需求增加践磅;

    • IE6-IE8不支持ES5特性单刁,vue核心實現(xiàn)利用Es5Object.defineProperty特性

    • IE9+、chrome、safari羔飞、firefox支持ES5特性肺樟,大多數(shù)(webkit內(nèi)核)移動端都支持ES5;

    • 前端交互越來越多逻淌,功能越來越復雜 么伯;

    • 架構從傳統(tǒng)后臺MVC向REST API+前端MV*遷移;

      MV* {
              MVC
              MVP
              MVVM  <---- Vue.js
        }
      

    (數(shù)據(jù)和視圖是不能直接通信的卡儒,通過ViewModel通信田柔,ViewModel通常要實現(xiàn)observer觀察者,當數(shù)據(jù)發(fā)生變化ViewModel能夠觀察到數(shù)據(jù)的這種變化骨望,然后通知到對應的視圖做自動更新硬爆,而用戶操作視圖,viewModel也能監(jiān)聽到視圖的變化擎鸠,然后通知數(shù)據(jù)做改動缀磕;實現(xiàn)了數(shù)據(jù)的雙向綁定

     Model            View     ViewModel
     數(shù)據(jù)             視圖     連接數(shù)據(jù)和視圖的中間媒介
     javascript對象   DOM      觀察者
    

    應用場景:

  • 針對具有復雜交互邏輯的前端應用;

  • 提供基礎的架構抽象劣光;

  • 通過Ajax數(shù)據(jù)持久化袜蚕,保證前端用戶體驗;

好處:
當前端進行和數(shù)據(jù)做一些操作時候赎线,可以通過Ajax請求做數(shù)據(jù)持久化鲸郊,不刷新頁面疮鲫;只需要改動DOM里需要改動的數(shù)據(jù)和內(nèi)容;特別移動端應用,刷新頁面的代價太大赡磅,會重新加載很多資源;雖然有些資源會被緩存君丁,但是頁面DOM睛蛛、css、js都會被瀏覽器重新解析一遍文判,因此移動端頁面會做成SPA單頁應用过椎,在這一基礎上就出來了一些MVVM框架:Angular.js/react.js/vue.js;

2.vuejs介紹--什么是Vuejs及Vuejs生態(tài)

1.vuejs 它是一個輕量級MVVM框架,體積只有20多kb戏仓;
2.數(shù)據(jù)驅動+組件化(vue的核心思想)的前端開發(fā)疚宇;
3.GitHub超過25k+的star數(shù),社區(qū)完善赏殃;

3.Vue.js介紹--對比Angular敷待、React;

  • 如何做技術選型仁热?
    • 選型參考:
      1.開源項目的社區(qū)如何榜揖;VueJS;/Angular.js/React.js都很不錯;
      2.對比開源框架的其他方面举哟;

      • Vue.js更輕量思劳,gzip后大小只有20k+(26K);

      • Angular.js gzip后大小56k;

      • React.js gzip后大小44k;

        對于移動端來說妨猩,Vue.js更適合
        
    • Vue.js更易上手潜叛,學習曲線平穩(wěn);

      • Angular入門是最難的册赛,概念太多钠导,完全顛覆了以前前端開發(fā)的模式和思維,還有一些概念像依賴注入森瘪,對一些前端完全不知道是什么牡属,Angular是一幫做java的工程師寫的,很多思想都沿用了后端的技術扼睬,對前端特別是新手前端是一個特別大的挑戰(zhàn)逮栅;
      • React這點比起來比Angular好一些,React也有自己的一套JSX語法窗宇,React學習會附贈 React全家桶包括flux/redux/react-router學習曲線也是比較陡峭的措伐;
      • Vue.js 上手就很簡單了,開發(fā)組件的語法更符合習慣军俊,官網(wǎng)的文檔非常詳細侥加,demo也簡單易懂,對于一個新手來說學習曲線是最平穩(wěn)的粪躬;
        --吸取了兩家之長担败,借鑒了angular的指令和react的組件化
        • 在vue.js語法總能看到angular和react影子镰官;
          1.比如vue就借鑒了angular指令的概念提前,v-show/v-hide對angular的ng-show、ng-hide泳唠;
          2.vue.js組件化思想和react組件化思想是一致的狈网;把一個頁面初始成一個組件樹,組件都會有完整的生命周期笨腥;
          3.Vue還有很多自己的特點是其他兩個沒有的:計算屬性

4.Vue.js核心思想

數(shù)據(jù)驅動
組件化

  • 數(shù)據(jù)驅動
    DOM是數(shù)據(jù)的一種自然映射拓哺;

    View        ViewModel          Model
        
                 DOM Listeners
                 Directives
    
     DOM        Vue實例        javascript         
    

    數(shù)據(jù)和視圖如何交互:
    只要改變數(shù)據(jù)Vue.js通過Directives指令對DOM做一層封裝,當數(shù)據(jù)發(fā)生變化會通知指令去修改對應的DOM脖母,數(shù)據(jù)驅動DOM變化士鸥,DOM是數(shù)據(jù)一種自然映射;
    Vue.js還會對操作做些監(jiān)聽,當我們修改視圖的時候镶奉,Vuejs監(jiān)聽到這些變化從而改變數(shù)據(jù);這樣就形成了數(shù)據(jù)的雙向綁定础淤;

    數(shù)據(jù)響應原理:

    數(shù)據(jù)(model)改變驅動視圖(view)自動更新;

    組件化:
    1.擴展HTML元素哨苛,封裝可重用的代碼鸽凶;
    2.vue.js每個組件都對應一個v-model,最終生成一個v-model的樹建峭,和DOM樹是一個一一對應的關系玻侥;
    組件設計原則:
    1.頁面上每個獨立的可視、可交互區(qū)域視為一個組件亿蒸;
    比如:一個頁面頭部凑兰、尾部、一些可復用的區(qū)塊都可以抽象成組件边锁;
    2.每個組件對應一個工程目錄姑食,組件所需要的各種資源在這個目錄下就近維護;
    就近維護原則就體現(xiàn)了前端工程化思想茅坛,為前端開發(fā)提供了很好的分 策略音半,每個開發(fā)者都將清楚的知道自己所開發(fā)維護的工作單元,代碼存在對應的組件目錄中贡蓖,那個目錄下就可以找到工作單元所有的內(nèi)部邏輯曹鸠,樣式也好,JS也好斥铺,頁面結構都在那里彻桃,Vue.js中可以通過.Vue文件把組件依賴的模板、js晾蜘、樣式都寫在一個文件中邻眷,把組件化就近維護原則發(fā)揮到極致;
    3.頁面不過是組件的容器笙纤,組件可以嵌套自由組合形成完整的頁面耗溜;
    把頁面拆分成一個個組件;

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末省容,一起剝皮案震驚了整個濱河市抖拴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌腥椒,老刑警劉巖阿宅,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異笼蛛,居然都是意外死亡洒放,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門滨砍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來往湿,“玉大人妖异,你說我怎么就攤上這事×熳罚” “怎么了他膳?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長绒窑。 經(jīng)常有香客問我棕孙,道長,這世上最難降的妖魔是什么些膨? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任蟀俊,我火速辦了婚禮,結果婚禮上订雾,老公的妹妹穿的比我還像新娘肢预。我一直安慰自己,他們只是感情好洼哎,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布误甚。 她就那樣靜靜地躺著,像睡著了一般谱净。 火紅的嫁衣襯著肌膚如雪窑邦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天壕探,我揣著相機與錄音冈钦,去河邊找鬼。 笑死李请,一個胖子當著我的面吹牛瞧筛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播导盅,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼较幌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了白翻?” 一聲冷哼從身側響起乍炉,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎滤馍,沒想到半個月后岛琼,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡巢株,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年槐瑞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片阁苞。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡困檩,死狀恐怖祠挫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情悼沿,我是刑警寧澤茸歧,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站显沈,受9級特大地震影響,放射性物質發(fā)生泄漏逢唤。R本人自食惡果不足惜拉讯,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鳖藕。 院中可真熱鬧魔慷,春花似錦、人聲如沸著恩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽喉誊。三九已至邀摆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間伍茄,已是汗流浹背栋盹。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留敷矫,地道東北人例获。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像曹仗,于是被迫代替她去往敵國和親榨汤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容