zoukankan      html  css  js  c++  java
  • vue2.0 之事件处理器

    事件绑定v-on(内置事件)

    <template>
      <div>
        <a v-if="isPartA">partA</a>
        <a v-else>no data</a>
        <button v-on:click="toggle">toggle</button>
        <input @keydown.enter="onkeydown">
      </div>
    </template>
    
    <script>
      export default {
        data () {
          return {
            isPartA: true
          }
        },
        methods: {
          toggle () {
            this.isPartA = !this.isPartA
          },
          onkeydown () {
            console.log('on key down')
          }
        }
      }
    </script>
    
    <style>
      html {
        height: 100%;
      }
    </style>
    

    回车,输出如下结果

    备注:v-on简写为@

    事件绑定v-on(自定义事件)

    子组件hello.vue

    <template>
      <div>
        {{ hello }}
        <button @click="emitMyEvent">emit</button>
      </div>
    </template>
    
    <script>
      export default {
        data () {
          return {
            hello: 'i am component hello'
          }
        },
        methods: {
          emitMyEvent () {
            this.$emit('my-event', this.hello)
          }
        }
      }
    </script>
    
    <style scoped>/**/
    h1 {
      height: 100px;
    }
    </style>

     App,vue

    <template>
      <div>
        <a v-if="isPartA">partA</a>
        <a v-else>no data</a>
        <button v-on:click="toggle">toggle</button>
        <input @keydown.enter="onkeydown">
        <comH @my-event="onComhMyEvent"></comH>
      </div>
    </template>
    
    <script>
      import comH from './components/hello.vue'
      export default {
        components: {
          comH
        },
        data () {
          return {
            isPartA: true
          }
        },
        methods: {
          toggle () {
            this.isPartA = !this.isPartA
          },
          onkeydown () {
            console.log('on key down')
          },
          onComhMyEvent (parmformA) {
            console.log('onComhMyEvent' + parmformA)
          }
        }
      }
    </script>
    
    <style>
      html {
        height: 100%;
      }
    </style>
    

    点击emit按钮,输出结果如下

    1、父组件App.vue引入hello.vue子组件

    2、子组件定义emitMyEvent方法,调用父组件my-event自定义事件

    3、App.vue中触发onComhMyEvent方法,在控制台生成日志内容

  • 相关阅读:
    spring cloud-zuul的Filter详解
    Hibernate day01
    JAVA中几种常用的RPC框架介绍
    乐观锁和悲观锁的区别(最全面的分析)
    Redis、Memcache和MongoDB的区别
    Hessian整合Spring
    Hessian的使用以及理解
    sso单点登录系统原理与实现
    zookeeper原理(转)
    Nginx的负载均衡的几种方式
  • 原文地址:https://www.cnblogs.com/shhnwangjian/p/7082652.html
Copyright © 2011-2022 走看看