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

  • 相关阅读:
    分布式缓存技术之Redis_03分布式redis
    Spring 二、400行代码手写初体验Spring V1.0版本
    Spring 一、各级架构与依赖关系
    Java正则表达式基础学习
    JAVA开发:SpringBoot多数据源配置
    Spring 单例模式实现源码分析
    Spring 使用的设计模式用哪些
    Spring之@Autowired和@Resource
    Spring的优缺点
    MySQL支持的事物隔离级别以及悲观锁和乐观锁原理和应用场景
  • 原文地址:https://www.cnblogs.com/shhnwangjian/p/7082652.html
Copyright © 2011-2022 走看看