天天看點

Vue—認識vue1.Vuejs安裝方式2.Vue.js初體驗3.MVVM模型4.對象options5.Vue的生命周期

文章目錄

  • 1.Vuejs安裝方式
  • 2.Vue.js初體驗
  • 3.MVVM模型
  • 4.對象options
  • 5.Vue的生命周期

1.Vuejs安裝方式

Vue的安裝方式有3種

第一種、下載下傳和引入
        1.下載下傳好vue.js架構;     官網中下載下傳
            (有開發環境版本和生産環境版本(即未壓縮版和壓縮版),開發過程中用開發環境版本)
        2.下載下傳好後用 <script> </script>标簽引入;    (類似于引入jQuery)

   第二種、CDN引入   (直接引入vue.js架構對應的連結即可; 連結到一個明确的版本号和建構檔案)
        1. 開發環境版本:
           <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        2.生産環境版本:
           <script src="https://cdn.jsdelivr.net/npm/vue"></script>

   第三種、NPM安裝管理
        * 後續通過webpack和CLI的使用,我們使用該方式。
        * NPM 能很好地和諸如webpack或Browserify 子產品打包器配合使用,
          同時Vue也提供配套工具來開發單檔案元件。
           

2.Vue.js初體驗

<script src="js/vue.js"></script>   
   //引入之後就可以在<script>中寫Vue相關代碼了
    
  <div id="app">{{message}}</div>    //顯示資料,放在{{ }}中;
  
  <script>
      const app=new Vue({
         el:"#app",              //用于挂載要管理的元素;
         data:{                  //用于定義資料
            message:"你好啊!"
           }
       })
  </script>
  //第一個Vue程式,體驗一下Vue的響應式
  //代碼做了什麼事情?
  // (1).建立了一個Vue對象,并在裡面傳入了一個對象{}
  // (2).{}中的el屬性:該屬性決定了該Vue對象挂載哪個元素,
  //                  我們這裡是挂載到了id為app的元素上。
  //                  挂載哪個元素,就用vue執行個體中的内容操作哪個元素。
  // (3).{}中的data屬性:該屬性中通常會存儲一些資料。
  //     這些資料可以是我們直接定義出來的,也可以來自網絡,從伺服器加載的;

  //   Vue中一般不用var,用let(變量)、const(常量,如接收該構造函)
  //   響應式:可以實作資料的實時更新;




     上面代碼的實作過程:  (這種程式設計範式是:聲明式程式設計)
        1.挂載元素後,就會去解析這個元素,然後解析到某個變量message;
        2.看Vue執行個體在data中有沒有定義這個變量,如果定義了就會把該變量的值在元素中顯示。
       
        即:先根據el,找元素---》解析元素内容---》對照data;
            聲明式程式設計好處:做到資料與界面完全分離
 

    如果是元素js中的做法: (這種程式設計範式是:指令式程式設計)
        1.建立div元素,并設定id屬性
        2.定義變量message
        3.将message變量放在div元素中顯示
           
//計數器 
<script src="js/vue.js"></script>

<div id="app">
     <h2>目前計數:{{counter}}</h2>
     <button v-on:click="add">+</button>
     <button v-on:click="sub">-</button>
     //點選執行對應點的方法
     //<button v-on:click="counter++">+</button>
     //<button v-on:click="counter--">-</button>
 </div>

 <script>
     const app=new Vue({
          el:"#app",
          data:{
            counter:0
           },
           methods:{                 //定義管理元素要使用的方法
              add:function () {
                 this.counter++     //this,表示目前對象中的counter變量
                },
              sub:function () {
                 this.counter--
                }
             }
     })
    //響應式:直接修改data内容,響應到顯示的内容;
 </script>
           

3.MVVM模型

MVVM (Model View View Model)
        :解決資料和頁面顯示的問題而出現前端的MVVM架構,
            是一種子產品化開發代碼分層的思想或者架構。

 MVVM 的優點:
     1.主要目的是分離視圖(View)和模型(Model)
     2.降低代碼耦合,提高視圖或者邏輯的重用性。
     3.提高了子產品的可測試性

 我們直接來看Vue的MVVM (Model View View Model)
  (1).View層:
      *視圖層
      *在我們前端開發中,通常就是DOM層。
      *主要的作用是給使用者展示各種資訊。
  (2).Model層:
      *資料層      (data)
      *資料可能是我們固定的死資料,更多是來自我們伺服器,從網絡上請求下來的資料。
      *在我們計數器的案例中,就是後面抽取出來的obj,當然,裡面的資料可能沒有這麼簡單。。
  (3).VueModel層:
      *視圖模型層
      *視圖模型層是View和Model溝通的橋梁。
      *一方面它實作了Data Binding,也就是資料綁定,将Model的改變實時的反應到View中。
       另一方面它實作了DOM Listener,也就是DOM監聽,當DOM發生一些事件(點選、滾動、touch等)時,
      可以監聽到,并在需要的情況下改變對應的Data。


  即:1.資料綁定:view上面顯示的永遠是Model上最新資料,是因為VueModel幫我們實作了;
      2.DOM監聽:監聽事件,并在需要的情況下改變對應的Data。




1.  Vue初體驗-計數器 這個案例中的MVVM:
      View:是展示給使用者的部分,   
             是以是<div id="app">  </div>這部分的内容;
     Model:是我們的資料,
             是以是app中data的内容;
   VueModel:将Model展示到View,
             是以是建立的Vue對象執行個體,new Vue();

2. 我們的計數器中就有嚴格的MVVM思想:
      View依然是我們的DOM
      Model就是我們我們抽離出來的obj
      ViewModel就是我們建立的Vue對象執行個體

3.它們之間如何工作呢?
     首先ViewModel通過Data Binding讓obj中的資料實時的在DOM中顯示。
     其次ViewModel通過DOM Listener來監聽DOM事件,并且通過methods中的操作,改變obj中的資料。
           

4.對象options

我們在建立Vue執行個體的時候,傳入了一個對象options。

這個options 可以包含很多的選項,如:
   1.el:
      類型:string | HTMLElement
      作用:決定之後Vue執行個體會管理哪一個DOM。
   2.data:
     類型:Object | Function (元件當中data必須是一個函數)
     作用:Vue執行個體對應的資料對象。
   3.methods:
     類型:{ [key: string]: Function }
     作用:定義屬于Vue的一些方法,可以在其他地方調用,也可以在指令中使用。
           

5.Vue的生命周期

Vue生命周期
      :從誕生到消亡的整個過程;
      :建立一個new Vue(),它的源碼裡面會做一系列的事情。這一系列的事情就是它的生命周期。

 (1).每個 Vue 執行個體在被建立時,源碼中都要經過一系列的初始化過程。
     例如,需要設定資料監聽、編譯模闆、将執行個體挂載到 DOM 并在資料變化時更新 DOM 等。
     (對el的處理,對data的處理、對method的處理、更新DOM...)

 (2).同時在這個過程中也會自調用一些叫做生命周期鈎子的函數,
    這給了使用者在不同階段添加自己的代碼的機會; (執行自己想執行的内容)

   比如created 鈎子可以用來在一個執行個體被建立之後執行代碼,
   也有一些其它的鈎子,在執行個體生命周期的不同階段被調用,如 mounted、updated 和 destroyed。
           
Vue—認識vue1.Vuejs安裝方式2.Vue.js初體驗3.MVVM模型4.對象options5.Vue的生命周期
Vue—認識vue1.Vuejs安裝方式2.Vue.js初體驗3.MVVM模型4.對象options5.Vue的生命周期