vuejs template click怎么直接传递this

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vuejs template click怎么直接传递this相关的知识,希望对你有一定的参考价值。

参考技术A vue 调用子组件,传递一个方法,这个方法该怎么传递event
可以用 v-on 指令监听 DOM 事件:
<div id="example">
<button v-on:click="greet">Greet</button>
</div>
绑定了一个单击事件处理器到一个方法 greet。下面在 Vue 实例中定义这个方法:
var vm = new Vue(
el: '#example',
data:
name: 'Vue.js'
,
// 在 `methods` 对象中定义方法
methods:
greet: function (event)
// 方法内 `this` 指向 vm
alert('Hello ' + this.name + '!')
// `event` 是原生 DOM 事件
alert(event.target.tagName)


)

// 也可以在 javascript 代码中调用方法
vm.greet() // -> 'Hello Vue.js!'

vue定义自定义事件方法事件传值及事件对象

1.自定义事件 例如v-on:click="run" 或者 @click="run"

<template>
  <div id="app">
    <button @click="run">自定义事件</button>
  </div>
</template>

<script>
export default 
  name: "app",
  data() 
    return 
    ;
  ,
  methods:
    run() 
      alert(我是自定义事件);
    
  
;
</script>

<style>

</style>

效果:

技术图片

2.自定义事件传值 @click="run(‘123‘)"

<template>
  <div id="app">
    <button @click="run(‘123‘)">自定义事件</button>
  </div>
</template>

<script>
export default 
  name: "app",
  data() 
    return 
    ;
  ,
  methods:
    run(val) 
      alert(val);
    
  
;
</script>

<style>

</style>

效果:

技术图片

 

 

 3.事件对象@click="run($event)"

 

<template>
  <div id="app">
    <button @click="run($event)">自定义事件</button>
  </div>
</template>

<script>
export default 
  name: "app",
  data() 
    return 
    ;
  ,
  methods:
    run(e) 
      console.log(e);
    
  
;
</script>

<style>

</style>

 效果:

 技术图片

 

以上是关于vuejs template click怎么直接传递this的主要内容,如果未能解决你的问题,请参考以下文章

vuejs学习总计——数据传值篇

VueJS将参数传递给弹出“对话框”

Vuejs 2将道具对象传递给子组件并检索

VueJS 获取数据作为对象

Laravel 6 如何将参数传递给 Vue Js @click 方法

vue定义自定义事件方法事件传值及事件对象