1. 程式人生 > >看了vue文檔之後。。。。

看了vue文檔之後。。。。

基於 忽略 html area fit 全局 創建 對象 然而

  • 對於任何復雜邏輯,你都應當使用計算屬性

  • html中的雙花之內的值不一定來自data:{},還有可能來自computed:{}

  • 原數據改變,被綁定的計算屬性也會改變

  • 可以將同一函數定義為一個方法而不是一個計算屬性。兩種方式的最終結果確實是完全相同的。然而,不同的是計算屬性是基於它們的依賴進行緩存的。只在相關依賴發生改變時它們才會重新求值。

  • v-bind:class 指令也可以與普通的 class 屬性共存
    綁定的數據對象class不必內聯定義在模板裏

  • Vue 為你提供了一種方式來表達“這兩個元素是完全獨立的,不要復用它們”。只需添加一個具有唯一值的 key 屬性即可:復用!復用!

  • 一般來說,v-if 有更高的切換開銷,而 v-show 有更高的初始渲染開銷。因此,如果需要非常頻繁地切換,則使用 v-show 較好;如果在運行時條件很少改變,則使用 v-if 較好。

  • 當 v-if 與 v-for 一起使用時,v-for 具有比 v-if 更高的優先級。

  • 在 v-for 塊中,我們擁有對父作用域屬性的完全訪問權限。v-for 還支持一個可選的第二個參數為當前項的索引。

  • 可以用 v-for 通過一個對象的屬性來叠代,得到每個屬性的值。第二個的參數做為鍵名,第三個參數為索引。

  • 建議盡可能在使用 v-for 時提供 key。
  • 當在組件中使用 v-for 時,key 現在是必須的。

  • vue不能檢測到的數組變化:
  1. 直接利用索引修改某項;
  2. 修改數組長度

如何能讓vue檢測到這種變化呢?

// Vue.set
Vue.set(vm.items, indexOfItem, newValue)
// Array.prototype.splice
vm.items.splice(indexOfItem, 1, newValue)
vm.$set(vm.items, indexOfItem, newValue)
 vm.items.splice(newLength)
  • 使用 Vue.set(object, key, value) 方法向嵌套對象添加響應式屬性:
vm.$set(vm.userProfile, ‘age‘, 27)
Vue.set(vm.userProfile, ‘age‘, 27)
  • 當它們處於同一節點,v-for 的優先級比 v-if 更高,這意味著 v-if 將分別重復運行於每個 v-for 循環中。
  • 有時也需要在內聯語句處理器中訪問原始的 DOM 事件。可以用特殊變量 $event 把它傳入方法。
  • v-model 會忽略所有表單元素的 value、checked、selected 特性的初始值而總是將 Vue 實例的數據作為數據來源。你應該通過 JavaScript 在組件的 data 選項中聲明初始值。
  • 在文本區域插值 () 並不會生效,應用 v-model 來代替。
  • v-model配select,第一個option要設為disabled value=""
  • 使用自定義組件前,先new Vue一下根標簽作為根實例。
  • 一個組件的 data 選項必須是一個函數而不是對象
  • 全局註冊的組件可以用在其被註冊之後的任何 (通過 new Vue) 新創建的 Vue 根實例,也包括其組件樹中的所有子組件的模板中。

看了vue文檔之後。。。。