1. 程式人生 > >Vue.js介紹及基本指令

Vue.js介紹及基本指令

什麼是vue

  1. Vue.js是目前最火的一個前端框架,而React.js是最流行的一個前端框架(React除了可以開發網站,還可以開發手機App,vue語法也是可以開發手機app,需要藉助於Weex)
  2. Vue.js是前端的主流框架之一,和Angular.js、React.js並稱為前端三大主流框架
  3. vue.js是一套構建使用者介面的框架,只關注檢視層,它不僅容易上手,還便於與第三方庫或既有專案整合。
  4. 在vue中,能夠幫助我們減少不必要的DOM操作,提高渲染效率,雙向資料繫結(通過框架提供的指令,我們前端只需要關心資料的業務邏輯,不用再關心DOM是如何渲染的)

框架和庫的區別

  1. 框架:是一套完整的解決方案,對專案的侵入性較大,如果專案需要更換框架,則需要重新架構整個專案。
  2. 庫(外掛):提供某個小功能。對專案的侵入性較小。

前端中的MVVM思想

  1. MVVM是前端檢視層的概念
    1. MVVM是前端檢視層的分層開發思想,主要把每個頁面,分成了M,V,VM,其中VM是MVVM的核心思想,VM是M和V之間的排程者。
    2. M:儲存的是每個頁面中單獨的資料(後端返回的資料)
    3. V:頁面中的html程式碼
    4. VM:分割了M和V
    5. M和V互不可見,若要進行互動,必須通過VM
  2. 前端中使用MVVM,主要是為了我們更方便開發,因為MVVM提供了資料的雙向繫結(由VM提供)

Vue中實現MVVM的基本程式碼

<body>
    <!-- 將來new的Vue例項會控制這個元素中的所有內容 -->
<!-- Vue 例項所控制的這個元素區域,就是我們的 view層 --> <div id="app"> <p>{{msg}}</p> </div> </body>
<script src="vue-2.4.0.js"></script>
<script>
    /* 當我們匯入包之後,在瀏覽器的記憶體中,就多了一個Vue建構函式 */
    /* 建立一個vue的例項 也就是VM */
    var vm = new Vue({
    // el:表示當前new 的這個Vue例項,要控制頁面上的哪個區域
el: '#app', data: {// data 屬性中存放的是el中要用到的資料,也就是Model // 通過Vue提供的指令,很方便的就能把資料渲染到頁面上 msg: '歡迎學習Vue' // 前端的Vue之類的框架,不提倡我們去手動操作DOM元素了 } }); </script>

Vue指令

  1. v-cloak
    用於解決網速過慢導致的插值表示式閃爍的問題
  2. v-text
    與插值表示式的作用一樣,用於渲染資料
    1. 預設v-text是沒有閃爍問題的
    2. 標籤中,插值表示式{{ data }}的前後可以放任意內容,而使用v-text指令後,標籤裡其它內容都不會被解析
  3. v-html
    用於渲染含有html程式碼的資料
  4. v-bind
    將資料與屬性的值繫結
    縮寫:title=‘msg’
  5. v-on
    用來繫結事件的
    縮寫@click:‘show’
  6. v-model
    用來實現資料的雙向繫結,只能運用在表單元素中,與表單中的value值雙向繫結。而v-bind只能實現M->V的單向繫結。
  7. v-for
    該指令可以用來遍歷陣列、物件、或者數字迭代
    • v-for使用注意事項
      1. 在元件中,使用v-for迴圈的時候,或者在一些特殊情況中,如果v-for有問題,必須在使用v-for的同時,指定唯一的字串/數字 型別的 :key值
  8. v-if 和v-show的區別
    • 使用v-if時,每次都將刪除或建立元素,而使用v-show,只是將元素設定為display:none/block。
    • v-if有較高的效能消耗,而v-show有較高的初始渲染消耗。
    • 如果元素涉及到頻繁的切換,最好不好使用v-if,推薦使用v-show
    • 如果元素可能永遠或者很少會顯示出來被使用者看到,則推薦使用v-if

v-on中事件修飾符

  • .stop :阻止冒泡
  • .prevent:阻止預設事件
  • .capture:新增事件偵聽器時使用事件捕獲模式
  • .self:當事件在該元素本身(比如不是子元素)觸發時觸發回撥
  • .once:事件只觸發一次