VUE官方文檔-教程-基礎


新詞匯:“Mustache”語法 (雙大括號)

    "truthy" 在 JavaScript 中,truthy(真值)指的是在布爾值上下文中,轉換后的值為真的值。所有值都是真值,除非它們被定義為 假值(即除 false0""nullundefinedNaN 以外皆為真值)。

 

  1.  Vue 實例自帶的屬性都有前綴 $,以便於區分用戶定義的屬性

2.  常會使用 vm (ViewModel 的縮寫) 這個變量名表示 Vue 實例

3.  Vue是響應式的,當屬性值改變,視圖會響應,當使用Object.freeze(),會阻止修改現有的屬性,也意味着響應系統無法再追蹤變化。

4.  生命周期(在項目中,慢慢理解其用處)

注意點:this的指向問題,生命周期鈎子的this上下文指向調用它的 Vue 實例,官網參考↑:

  5.  v-once指令,你也能執行一次性地插值,當數據改變時,插值處的內容不會更新。但請留心這會影響到該節點上的其它數據綁定

6.  v-html指令,雙大括號會將數據解釋為普通文本,而非 HTML 代碼。為了輸出真正的 HTML使用v-html,但不可濫用

如何避免XSS攻擊?

 

  7.  計算屬性 computed (不太會用!)

    計算屬性是基於它們的響應式依賴進行緩存的

    計算屬性默認只有 getter ,不過在需要時你也可以提供一個 setter

 

  8.  偵聽器 watch

    當需要在數據變化時 執行異步或開銷較大的操作時,這個方式是最有用的。

 

  9.  key 管理可復用的元素

    (Vue 會盡可能高效地渲染元素,通常會復用已有元素而不是從頭開始渲染)
     Vue 為你提供了一種方式來表達“這兩個元素是完全獨立的,不要復用它們”。只需添加一個具有唯一值的 key 屬性即可

 

  10. v-show

    帶有 v-show 的元素始終會被渲染並保留在 DOM 中。v-show 只是簡單地切換元素的 CSS 屬性 display

    注意v-show 不支持 <template> 元素,也不支持 v-else

  11. v-for 里面可使用對象,可使用數組,也可使用方法

    在遍歷對象時,會按 Object.keys() 的結果遍歷,但是不能保證它的結果在不同的 JavaScript 引擎下都一致。

    遍歷對象是可提供三個參數,例如:

    <div v-for="(value, name, index) in object"> {{ index }}. {{ name }}: {{ value }} </div>

  12. 數組變更

    變異方法:會改變調用了這些方法的原始數組 

    非變異方法:它們不會改變原始數組,而總是返回一個新數組

    由於 JavaScript 的限制,Vue 不能檢測以下數組的變動:

      1.當你利用索引直接設置一個數組項時,例如:vm.items[indexOfItem] = newValue

      2.當你修改數組的長度時,例如:vm.items.length = newLength

    解決:1. vm.$set(vm.items, indexOfItem, newValue)

       2. vm.items.splice(newLength)

  13. 對象變更

    由於 JavaScript 的限制,Vue 不能檢測對象屬性的添加或刪除

    對於已經創建的實例,Vue 不允許動態添加根級別的響應式屬性。但是,可以使用 Vue.set(object, propertyName, value) 方法向嵌套對象添加響應式屬性

    例如:vm.$set(vm.userProfile, 'age', 27)

    有時你可能需要為已有對象賦值多個新屬性,比如使用 Object.assign()_.extend()。在這種情況下,你應該用兩個對象的屬性創建一個新的對象。

    例如:vm.userProfile = Object.assign({}, vm.userProfile, { age: 27, favoriteColor: 'Vue Green' })

  14. .filter方法(不常用),常用來過濾數組

    有時,我們想要顯示一個數組經過過濾或排序后的版本,而不實際改變或重置原始數據。在這種情況下,可以創建一個計算屬性,來返回過濾或排序后的數組。

    下面這個官網的例子,沒有接觸過,值得借鑒!↓

   15. 方法內參數可有兩個,可有$event (這個方法沒怎么用過)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM