murday1983:
Estoy utilizando vue
y necesito saber qué elemento se ha hecho clic como 1 es una i
y la otra es una button
para que pueda pasar una variable
a una modal
, que es la misma para ambos como estoy compartiendo el modelo, pero dependiendo de lo que se ha hecho clic depende de el que se muestra el texto.
El (mal camino, pero / largo) es fácil tener sólo 2 clic methods
y pasar el variable
pero prefiero hacerlo en 1 method
llamada en lugar así que estoy ningún código de duplicación, pero cada vez que tengo ' undefined
espalda.
código actual
<i id="a" name="editAddress" class="fas fa-pencil-alt fa-lg px-4" v-tooltip:bottom="'Edit this address'" @click="editAddress"></i>
editAddress(e) {
let curTarget = e.currentTarget;
let acurTarget = e.currentTarget.id;
let bcurTarget = e.currentTarget.name;
console.log(curTarget)
console.log(acurTarget)
console.log(bcurTarget)
código intentado
<i id="a" name="editAddress" class="fas fa-pencil-alt fa-lg px-4" v-tooltip:bottom="'Edit this address'" type="submit" @click="handleClick($event)"></i>
<button id="addAddress" name="addAddress" class="btn btn-primary" @click.prevent="addAddress">Add a new address</button>
handleClick(e) {
console.log('TARGET', e.target);
console.log('NAME', e.target.name);
},
No puedo entender por dónde voy mal. También he intentado reemplazar currentTarget
con target
, pero aún no funcionaba
Boussadjra Brahim:
Debe utilizar getAttribute
el método de la siguiente manera:
console.log('NAME', e.target.getAttribute('name'));
new Vue({
el: '#app',
methods: {
handleClick(e) {
console.log('TARGET', e.target);
console.log('NAME', e.target.getAttribute('name'));
},
}
})
<!DOCTYPE html>
<html>
<head>
<meta name="description" content="Vue.delete">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.2.1/vue.min.js"></script>
</head>
<body>
<div id="app">
<i id="a" name="editAddress" class="fas fa-pencil-alt fa-lg px-4" v-tooltip:bottom="'Edit this address'" type="submit" @click="handleClick($event)">a</i>
</div>