• 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方法,在控制台生成日志内容

  • 相关阅读:
    mongodb nodemailer
    mongodb session
    mongodb cookie
    mongodb multer
    mongodb operate update and delete
    mongodb find opearate
    echart
    Git学习
    PHP海补知识(11)-- 自定义exception
    ThinkPHP U方法
  • 原文地址:https://www.cnblogs.com/shhnwangjian/p/7082652.html
Copyright © 2020-2023  润新知