Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

165
Views
Evite que Vue active automáticamente el método onclick

He estado trabajando con un intervalo generado por el método de Vue (versión 2.2), y mi problema es que, cuando se crea el intervalo, el método dentro de onclick se inicia automáticamente. Por lo tanto, estoy buscando una manera de evitar este comportamiento y hacer que el usuario solo pueda hacer clic en este intervalo.

 fnLikeIcon(colName, rowData) { let currentStatus = ''; if (rowData.isLike) { currentStatus = `<span class="mdi mdi-ok" onclick=${this.changeFavouriteProperty(colName, rowData)}"></span>`; } else { currentStatus = `<span class="mdi mdi-outline" onclick=${this.changeLikeProperty(colName, rowData)}"></span>`; } return currentStatus; }

Este método anterior, llama a este otro.

 changeLikeProperty(colName, rowData) { if (rowData.isLike) { this.unmarkAsLike(rowData); } else { this.markAsLike(rowData); } }

Probé con .prevent() después de hacer clic, pero realmente no estoy seguro de por qué sucede este comportamiento. ¡¡Gracias por adelantado!!

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Eso es porque en realidad ejecuta la función mientras genera la cadena para su lapso. Y te onclick a hacer clic en el resultado de esa función, no en la función en sí. ¡Envuélvelo con una función anónima y estarás bien!

 fnLikeIcon(colName, rowData) { let currentStatus = ''; if (rowData.isLike) { currentStatus = `<span class="mdi mdi-ok" onclick=${() => this.changeFavouriteProperty(colName, rowData)}"></span>`; } else { currentStatus = `<span class="mdi mdi-outline" onclick=${() => this.changeLikeProperty(colName, rowData)}"></span>`; } return currentStatus; }

Nota: no estoy seguro de por qué crea sus elementos de esta manera, estoy bastante seguro de que hay una mejor manera de hacerlo (usando enlaces dinámicos en una plantilla vue o una función de renderizado)

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!