vue入門(二)----模板與計算屬性


  其實這部分內容我也是參考的官網:http://cn.vuejs.org/v2/guide/syntax.html,但是我還是想把自己不懂的知識記錄一下,加深印象,也可以幫助自己以后查閱。所謂勤能補拙。

  首先我們說一下模板,其實如果看過第一節vue入門----組件,我們會知道更好更科學的辦法是通過創建組件的方式,這種方式允許我們任意進行組件的嵌套。而通過模板的方式的話,個人覺得效果並沒有組件好。行,開始切入正題,現在我們首先通過一下幾點來進行學習(其實是按照官網的順序記錄自己不懂的知識點)。

  1.  插值: 所謂插值,其實就是數據的綁定,我們可以通過腳本語言來修改Vue作用域內的任意值。大致分為一下幾點內容:

     A.  文本:其實這是最簡單的方法之一,我們可以簡單的通過Mustache來進行相關的設置。語法如下:{{example}}

     B.  單次文本綁定: 同上,只是值不會隨js的改變而改變,語法如下:{{*example}}

     C.  html: 如果我們想通過插值的方式來將html進行元素替換的話,我們可以使用v-html指令來進行關聯,注意與vue1.0中的差別,在1.0中直接通過{{{......}}}即可完成綁定。但是在這我更推薦使用自定義組件的方式進行擴展,因為采用v-html指令的方式來復合局部模板,vue並不能識別我們在其中嵌套的模板。

       D.  js表達式:我們還可以在綁定中進行js表達式的編寫,這樣我們可以進行一些簡單的判斷,但是有一個限制: 每個綁定只能包含一個表達式。(不包括語句和流程控制等)

  2.  計算屬性: 計算屬性是我們學習過程中的另一個知識點,它的函數是指:如果我們想要通過作用域范圍內的值進行計算得出另一個值,如果我們直接在插值中進行計算會顯得特別凌亂和難以維護。這時候我們就需要使用計算屬性,語法為:computer:{},可使用與vue的實例過程中,或者是組件的創建過程中(上一節我們說過,vue實例過程中的參數出el和data外,其余的都可以使用到組件創建過程中)。例如:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="https://unpkg.com/vue/dist/vue.js"></script>
    <title>Title</title>
</head>
<body>
    <div id="app">
        <h1>{{test}}</h1>
        <h2>{{tset}}</h2>
    </div>
    <script>
        var vm = new Vue({
            el: '#app',
            data: {
                test: 'temp'
            },
            computed: {
                tset: function () {
                    return this.test+'pmet'
                }
            }
        })
    </script>
</body>
</html>

  這里test是經過簡單綁定的模板,而tset則是經過test計算出來的屬性,我們通過computed:{}語法進行計算。特別注意這里this的用法,this調用的是vm作用域內的全體成員。

  A.  這里我們需要特別注意一點,計算屬性只有在其依賴的值發生改變的時候才會出發進行再次計算,相當於一個緩存的作用。這樣設計的好處是如果我們維護了一個很大的變量時,並且另一個計算屬性依賴於這個變量,此時我們不可能每一次都去讀取這個變量,更科學的辦法是當被依賴屬性發生改變時出發事件。這種科學的做法類似cache的設計理念。

  B.  實時更新,我們在進行設計的時候如果希望每一次更新都去讀取被依賴屬性,那么我們可以使用methods屬性。

  C.  並且在進行computed的時候我們還可以對計算屬性設置set/get方法。


免責聲明!

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



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