1. 程式人生 > 其它 >uni-app(二)

uni-app(二)

技術標籤:前端vuejavajs前端設計uni-app

uni-app(二)事件處理

1. 監聽事件

使用v-on指令監聽DOM事件,並在觸發時執行一些JS程式碼
一般在methods裡面宣告方法,然後在使用v-on繫結在元件上

<template>
        <view>
            <!-- `greet` 是在下面定義的方法名 -->
            <button v-on:click="greet"
>
Greet</button> </view> </template> <script> export default { data() { return { name: 'Vue.js' } }, // 在 `methods` 物件中定義方法 methods: { greet
(event){ // `event` 是原生 DOM 事件,也可以替換為e等任意字串 console.log(event); uni.showToast({ title: 'Hello ' + this.name + '!' }); } } }
</script>

2. 事件修飾符

用於指出一個指令應該以特殊方式繫結

  • .stop:使用時會阻止事件冒泡
  • .native:監聽原生事件,僅在H5平臺支援
  • .prevent
  • .capture
  • .self
  • .once
  • .passive

呼叫:v-on.stop=" "

3. 計算屬性computed

每一個計算屬性都包含一個getter和setter,預設使用getter來讀取,所有的getter和setter的this上下文自動繫結vue例項

通過下面的例子來看看getter和setter是如何工作的

<template>
        <view>
            <view>{{ fullName }}</view>
        </view>
    </template>
    <script>
        export default {
            data() {
                return {
                    firstName: 'Foo',
                    lastName: 'Bar'
                }
            },
            //計算屬性
            computed: {
                fullName: {
                    // getter
                    get(){
                        return this.firstName + ' ' + this.lastName
                    },
                    // setter通過設定一個值來改變其關聯的值
                    set(newValue){
                        var names = newValue.split(' ')
                        this.firstName = names[0]
                        this.lastName = names[names.length - 1]
                    }
                }
            }
        }
    </script>

4. 偵聽器watch

型別:{[key:string]:string|Function|Object|Array}

一個物件,鍵為需要觀察的表示式,值時對應回撥函式,值也可以是方法名,或者包含選項的物件

<template>
    <view>
        // v-model繫結動態word
        <input type="text" v-model="word">
    </view>
</template>
<script>
    export default {
        data() {
            return {
                word: 'word'
            }
        },
        watch: {
            /* 使用watch來響應資料的變化 */
            //一般使用old value和new value來檢視變換前後的值
            word(newVal, oldVal) {
                console.log('最新值是:'+newVal,"原來的值是:"+ oldVal);
            }
        },
    }
</script>