<body>
    <div id="app">
        <button @[n.value]="doEvent(n.value)" v-for="(n,i) of eventList" :key="i">{{n.name}}</button>
    </div>
    <script src="./vue.js"></script>
    <script>
        var app = new Vue({
            el:'#app',
            data:{
                message:'Hello Vue!',
                eventList:[
                    {
                        name:'鼠标点击',
                        value:'click'
                    },
                    {
                        name:'鼠标移动到',
                        value:'mouseover'
                    },
                    {
                        name:'鼠标移动走',
                        value:'mouseout'
                    }
                ]
            },
            methods:{
                doEvent(func){
                    this[func](func)
                },
                click:function(func){
                    console.log(func)
                },
                mouseover:function(func){
                    console.log(func)
                },
                mouseout:function(func){
                    console.log(func)
                }
            }
        })
    </script>
</body>

l用于动态触发不同js事件,或者同一事件动态触发不同方法

Logo

前往低代码交流专区

更多推荐