第四節(jié):Vue選項(xiàng): Methods方法

在開發(fā)中,我們經(jīng)常需要用到函數(shù), 通過將一些需要復(fù)用的邏輯封裝在函數(shù)里,多次調(diào)用這個(gè)函數(shù)來達(dá)到邏輯代碼復(fù)用的目的.

在vue中,函數(shù)被定義成為方法來使用,這些方法定義在methods屬性中,然后就可以在vue 表達(dá)式中調(diào)用函數(shù)

1. 定義方法

vue 選項(xiàng)對(duì)象中有一個(gè)叫methods的屬性.這個(gè)屬性里面專門來存放一些函數(shù),用來給別人調(diào)用

const vm = new Vue({
    el: "#app",
    data: {
        status: 2
    },
    methods: {
        // 這里面是用來存放函數(shù),這里面的函數(shù)會(huì)自動(dòng)成為vue實(shí)例的方法
        statusDoing(id){
            var doing = ["睡覺","吃飯","學(xué)習(xí)Vue"];
            return doing[id]
        }
    }
})


2. 方法的調(diào)用

之前有起到過Mastache語(yǔ)法中可以使用JavaScript表達(dá)式,所以我們可以在Mastache語(yǔ)法中調(diào)用函數(shù)

<div id="app">
    {{ statusDoing(status) }}
</div>

方法除了可以在Mastache 表達(dá)式中使用外,還可以在任何可以使用Javascript表達(dá)式中都可以使用,我們慢慢了解


3. 方法中的this指向

在方法中,this指向該方法所屬的實(shí)例,可以使用this訪問data中的屬性或者其他方法

<div id="app">
    {{ statusDoing() }}
</div>


<script>   
    const vm = new Vue({
        el: "#app",
        data: {
            status: 2
        },
        methods: {
            statusDoing(){
                var doing = ["睡覺","吃飯","學(xué)習(xí)Vue"]
                
                // 通過this 獲取到實(shí)例對(duì)象,來拿到data中的數(shù)據(jù)
                return doing[this.status]
            }
        }
    })

</script>

注意, 方法不能使用箭頭函數(shù),因?yàn)榧^函數(shù)的this不是Vue實(shí)例, 未來我們?cè)诜椒ㄖ锌赡軙?huì)大量使用到Vue實(shí)例對(duì)象中的屬性. 比如獲取數(shù)據(jù),或者調(diào)用其他方法, 如果我們使用了箭頭函數(shù)就會(huì)丟失this,只能通過Vue實(shí)例對(duì)象來獲取

詳細(xì)的部分我們會(huì)在事件中提及;


4. 關(guān)于方法響應(yīng)式

使用方法對(duì)數(shù)據(jù)進(jìn)行過濾

<div id="app">
    <!-- 原數(shù)組 -->
    <h2>原數(shù)組</h2>
    {{numbers}}

    <h2>使用方法過濾后的數(shù)組</h2>
    {{ filterNum() }}
</div>


<script>   
    const vm = new Vue({
        el: "#app",
        data: {
            numbers: [10,20,-12,15,-10,22]
        },
        methods: {
            filterNum(){
                // 過濾數(shù)組函數(shù)
                return this.numbers.filter((number) => {   
                    return number >= 15
                })      
            }
        }
    })
</script>

這個(gè)時(shí)候改變numbers數(shù)據(jù),

vm.numbers = [22,11,13,19,18,10,17]

就會(huì)發(fā)現(xiàn), 方法過濾后的數(shù)據(jù)也發(fā)生了變化

所以我們前面講data屬性時(shí)提到的數(shù)據(jù)響應(yīng)式變化,在方法里同樣有效果, 數(shù)據(jù)變化觸發(fā)了Vue響應(yīng)系統(tǒng), 進(jìn)而觸發(fā)函數(shù)重新執(zhí)行.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末昭雌,一起剝皮案震驚了整個(gè)濱河市跌穗,隨后出現(xiàn)的幾起案子狭握,更是在濱河造成了極大的恐慌委乌,老刑警劉巖褪猛,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異颈嚼,居然都是意外死亡怜械,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門弄抬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來茎辐,“玉大人,你說我怎么就攤上這事掂恕⊥下剑” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵竹海,是天一觀的道長(zhǎng)慕蔚。 經(jīng)常有香客問我,道長(zhǎng)斋配,這世上最難降的妖魔是什么孔飒? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮艰争,結(jié)果婚禮上坏瞄,老公的妹妹穿的比我還像新娘。我一直安慰自己甩卓,他們只是感情好鸠匀,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著逾柿,像睡著了一般缀棍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上机错,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天爬范,我揣著相機(jī)與錄音,去河邊找鬼弱匪。 笑死青瀑,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的萧诫。 我是一名探鬼主播斥难,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼帘饶!你這毒婦竟也來了哑诊?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤及刻,失蹤者是張志新(化名)和其女友劉穎镀裤,沒想到半個(gè)月后穷当,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡淹禾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年馁菜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片铃岔。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡汪疮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出毁习,到底是詐尸還是另有隱情智嚷,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布纺且,位于F島的核電站盏道,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏载碌。R本人自食惡果不足惜猜嘱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嫁艇。 院中可真熱鬧朗伶,春花似錦、人聲如沸步咪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)猾漫。三九已至点晴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間悯周,已是汗流浹背粒督。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留队橙,地道東北人坠陈。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓萨惑,卻偏偏與公主長(zhǎng)得像捐康,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子庸蔼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348