如果我想在自定义组件中定义事件的话该怎么写呢?求大神解答
template: '{{a}}
'
Title
**以下是实现代码 亲测有效 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>
关于自定义事件,官方文档有很好的解释及Demo,请查看http://cn.vuejs.org/v2/guide/...自定义事件
@click.native
可以啊,只要在写成<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?1.2.1"></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>