javascript - vue的自定义组件中可以定义事件吗?
黄舟
黄舟 2017-04-11 12:50:48
[JavaScript讨论组]

如果我想在自定义组件中定义事件的话该怎么写呢?求大神解答

代码如下,如果我想加一个click事件可以实现吗?

 template: '

{{a}}

'

全部代码




    
    
    Title


    

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(4)
大家讲道理

可以啊,只要在写成<h1 @click="hi()">{{a}}</h1>,然后在methods里写hi这个函数就行了,还是说你想添加两个点击事件?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="https://unpkg.com/vue/dist/vue.js"></script>
    <title>Title</title>
</head>
<body>
    <p id="app">
        <!-- <h1 is="test"></h1> -->
        <test></test>
    </p>
    <script type="text/javascript">
        var mytest = Vue.extend({
            template: '<h1 @click="hi()">{{a}}</h1>',
            data: function () {
                return{
                    a: "this is a test"
                }
            },
            methods: {
              hi: function() {
                  alert(this.a);
              }
            }
        });
        var vm = new Vue({
            el: "#app",
            components: {
                "test": mytest
            }
        });
    </script>
</body>
</html>
PHP中文网

@click.native

巴扎黑

关于自定义事件,官方文档有很好的解释及Demo,请查看http://cn.vuejs.org/v2/guide/...自定义事件

PHP中文网

**以下是实现代码 亲测有效 O(∩_∩)O哈哈~
主要的点 还是子组件的方法创建 就是在创建组件的时候 加v-on:event=“方法名称” 然后 子组件自己处理自己的事件 在methods中 声明这个事件 并做处理**

<p id="demo">
    <my-component>
        <!--<p slot="main-text">Hello!</p>-->
    </my-component>
</p>
<script>
  Vue.component('my-component',{
      template:'\
      <button class="container" v-on:click="doThis">\
      <slot name="main-text">\
      这里显示</slot>\
      </button>',
      data:function () {
          return{
          }
      },
      methods:{
          doThis:function () {
              alert(1111)
          }
      }
  })
    new Vue({
        el:"#demo",
        data:{

        }
    })
</script>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号