Vue.js:方法

這節(jié)主要學(xué)習(xí)methods屬性, 這個(gè)名字是固定的,它是一個(gè)對(duì)象,用于存儲(chǔ)各種方法。{{方法名()}}就可以調(diào)用相應(yīng)的方法。

示例

<!DOCTYPE html>
<html class="no-js">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>方法</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <h2>{{message}}</h2>
        <h2>{{greeting('morning')}}</h2>
    </div>
    <script type="text/javascript">
        var app = new Vue({
            el: '#app',
            data: {
                message: 'hello vue',
            },
            methods: {
                greeting:function(time){
                    return 'good ' + time + '!';
                }
            }
        })
    </script>
</body>
</html>

如果要在當(dāng)前對(duì)象中拿data的屬性,直接使用Vue實(shí)例化的對(duì)象.name就可以了,調(diào)用方法時(shí)也是直接拿對(duì)應(yīng)的方法。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Vue的方法練習(xí)</title>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    </head>
    <body>
        <div id="app">
            <h2>{{greeting('Afternoon')}}</h2>
            <h2>{{message}}</h2>
        </div>
        <script>
            var app = new Vue({
                el: '#app',
                data: {
                    message: 'Hello Vue!',
                    name: '軟件1721'
                },
                methods: {
                    greeting: function(time) {
                        return 'Good ' + time + '!' + this.name;
                    }
                }
            })
        </script>
    </body>
</html>

v-on指令

分別點(diǎn)擊“隱藏/顯示”按鈕可以切換內(nèi)容的顯示:

<!DOCTYPE html>
<html class="no-js">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>v-on指令練習(xí)2-</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <h2 v-if="show">{{name}}</h2>
        <button @click="handleClick">隱藏/顯示</button>
    </div>
    <script type="text/javascript">
        var app = new Vue({
            el: '#app',
            data: {
                name: '軟件1721',
                show: true,
            },
            methods: {
                handleClick:function() {
                    this.show = !this.show;
                }
            },
        })
    </script>
</body>
</html>

語(yǔ)法糖:v-on:click可以簡(jiǎn)寫(xiě)為@click

喜歡/不喜歡 練習(xí)

<!DOCTYPE html>
<html class="no-js">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>v-on指令練習(xí)5-喜歡的練習(xí)</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <link rel="stylesheet" href="/vue-basic/css/font-awesome.min.css">
    <style type="text/css">
        .like{
            width: 120px;
            height: 50px;
            color: rgb(234,111,90);
            border-radius: 25px;
            font-size: 14px;
            background-color: #FFF;
            border: 1px solid rgb(234,111,90);
            outline: none;
        }
        .dislike{
            width: 120px;
            height: 50px;
            color: #FFF;
            border-radius: 25px;
            font-size: 14px;
            background-color: rgb(234,111,90);
            border: 1px solid rgb(234,111,90);
            /* 點(diǎn)擊取消外邊框 */
            outline: none;
        }
    </style>
</head>
<body>
    <div id="app">
        <button class="dislike" v-show="status == false" @click="like">
            <i class="icon-heart-empty" ></i> 喜歡  |  {{number}}
        </button>
        <button class="like" v-show="status" @click="dislike">
                <i class="icon-heart" ></i> 不喜歡  |  {{number}}
        </button>
    </div>
    <script type="text/javascript">
        var app = new Vue({
            el: '#app',
            data: {
                status: true,
                number: 8,
            },
            methods: {
                like:function() {
                    this.status = !this.status;
                    this.number += 1;
                },
                dislike:function() {
                    this.status = !this.status;
                    this.number -= 1;
                }
            },
        })
    </script>
</body>
</html>
GIF.gif
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • vue概述 在官方文檔中,有一句話對(duì)Vue的定位說(shuō)的很明確:Vue.js 的核心是一個(gè)允許采用簡(jiǎn)潔的模板語(yǔ)法來(lái)聲明...
    li4065閱讀 7,618評(píng)論 0 25
  • v-on指令事件 v-on:click(鼠標(biāo)單擊事件) v-on:dblclick(鼠標(biāo)雙擊事件) v-on:fo...
    王杰磊閱讀 122評(píng)論 0 0
  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,851評(píng)論 0 3
  • VUE Vue :數(shù)據(jù)驅(qū)動(dòng)的M V Vm框架 m :model(后臺(tái)提供數(shù)據(jù)),v :view(頁(yè)面),vM(模板...
    wudongyu閱讀 5,527評(píng)論 0 11
  • 1.走路。這兩天由于上凍路滑,我和女兒走著去學(xué),今天又走著回家,竟在路上說(shuō)了好多,女兒不停地說(shuō)著,我應(yīng)著,這...
    小幸福_4005閱讀 311評(píng)論 0 2

友情鏈接更多精彩內(nèi)容