Vue 學習筆記(一)


1、Vue.js介紹

Vue (讀音 /vju?/,類似于 view) 是一套用于構建用戶界面的漸進式框架。
所謂漸進式(Progressive),就是你可以一步一步、有階段性的來使用Vue.js,不必一開始就使用所有的東西。

1.1 Vue特點

  1. 輕量級的框架(壓縮后大小僅有17KB)
  2. 雙向數據綁定 (MVVM模式)
  3. 指令
  4. 插件化
  5. 虛擬DOM(Virtual DOM)

1.2 MVVM模式簡介

MVVM模式是由經典軟件架構MVC衍生來的。 MVVM框架主要包含3個部分:Model、View和 Viewmodel。
Model:指的是數據部分,對應到前端相當于javascript對象
View:指的是視圖部分,對應前端相當于dom
Viewmodel:就是連接視圖與數據的中間件通訊 數據(Model)和視圖(View)是不能直接通訊的,而是需要通過ViewModel來實現雙方的通訊。當數據變化的時候,viewModel能夠監聽到這種變化,并及時的通知view做出修改。同樣的,當頁面有事件觸發時,viewMOdel也能夠監聽到事件,并通知model進行響應。Viewmodel就相當于一個觀察者,監控著雙方的動作,并及時通知對方進行相應的操作。

1.3 Vue.js有什么不同

傳統前端開發模式,是針對DOM進行操作,以jQuery為例,給指定DOM中插入一個元素,并給他綁定一個點擊事件:

if(showBtn){
    var btn = $('<button>Click me</button>');
    btn.on('click',function(){
        console.log('Clicked!');
    });
    $('#app').append(btn);
}

這段代碼不難理解,操作內容也不復雜,不過這樣讓我們的視圖代碼和業務邏輯緊耦合在一起,隨著功能不斷增加,直接操作DOM會使得代碼越來越難以維護。
而Vue.js通過MVVM的模式拆分視圖與數據兩部分,并將其分離。因此,你只需要關心你的數據即可,DOM的事情Vue會幫你自動搞定,比如上面的實例我們可以改為:

<body>
    <div id="app">
        <button v-if="showBtn" v-on:click="handleClick">Click me</button>
    </div>
</body>
<script>
    new Vue({
        el: '#app',
        data:{
            showBtn: true
        },
        methods:{
            handleClick: function(){
                console.log('Clicked!');
            }
        }
    })
</script>

2、如何使用Vue.js

Vue Devtools

在使用 Vue 時,我們推薦在你的瀏覽器上安裝 Vue Devtools。它允許你在一個更友好的界面中審查和調試 Vue 應用。

2.1 通過 script 加載 CDN文件

<!-- 自動是被最新穩定版本的vue.js-->
<script src="https://unpkg.com/vue/dist/vue.min.js></script>
<!-- 指定某個具體版本的vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>

2.2 直接用 <script> 引入

直接下載并用 <script> 標簽引入,Vue 會被注冊為一個全局變量。
在開發環境下不要使用壓縮版本,不然你就失去了所有常見錯誤相關的警告!

2.3 使用 NPM 安裝

在用 Vue 構建大型應用時推薦使用 NPM 安裝。NPM 能很好地和諸如 webpack 或 Browserify模塊打包器配合使用。同時Vue也提供配套工具來開發單文件組件。

# 最新穩定版,須確保已經安裝node
$ npm install vue

2.4 命令行工具 (CLI)

Vue 提供了一個官方的 CLI,為單頁面應用快速搭建 (SPA) 繁雜的腳手架。它為現代前端工作流提供了batteries-included 的構建設置。只需要幾分鐘的時間就可以運行起來并帶有熱重載、保存時 lint校驗,以及生產環境可用的構建版本。更多詳情可查閱 Vue CLI 的文檔

下面簡單介紹使用Vue CLI 快速創建項目

  1. 全局安裝 vue-cli npm install --global vue-cli
  2. 選擇文件夾創建項目 vue init webpack my-project(my-project:項目名稱)
    安裝步驟
    出現一下文字說明已經創建成功
    成功顯示
  3. 進入創建的項目下 cd my-project
  4. 安裝項目依賴 npm install
  5. 安裝其他插件 npm install vuex element-ui axios mockjs --save (假設需要安裝 vuex element-ui axios mockjs等,可自定義)
    此時的目錄結構
    目錄結構
  6. 運行項目 npm run dev
    此時瀏覽器輸入http://localhost:8080 顯示以下頁面說明項目創建成功。
    my-project
    也可以修改config文件下的index.js 文件,修改后每次運行會自動打開瀏覽器。
    index.js

    參考資料-Vue.js
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,646評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,595評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,560評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,035評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,814評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,224評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,301評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,444評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,988評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,804評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,998評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,544評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,237評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,665評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,927評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,706評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,993評論 2 374

推薦閱讀更多精彩內容

  • 一、Vue.js介紹 Vue.js也稱為Vue,讀音類似view,錯誤讀音v-u-e,由華人尤雨溪開源并維護。 V...
    間陽幕賓閱讀 580評論 1 6
  • 一:什么是閉包?閉包的用處? (1)閉包就是能夠讀取其他函數內部變量的函數。在本質上,閉包就 是將函數內部和函數外...
    xuguibin閱讀 9,696評論 1 52
  • 2017年已經過去了一小半,現在的你活成了什么樣子? 我有個很好一個很好的閨蜜,她媽媽希望她找一個好老公,一個有資...
    原來我叫小紅帽閱讀 403評論 0 2
  • 這兩天,一位在新疆當兵的部下戰友回來了,心情非常高興激動。二十多年了,聯系不多,見面后卻還是那樣欣奮。戰友情應高于...
    陳健_6f12閱讀 152評論 0 0
  • 那天,2016年的8月19日,日照當頭,你抱了我,直到紅燈變綠。 因為前一天我故意告訴你第二天要離開這個可以離你這...
    橙皮微涼閱讀 244評論 0 2