У меня есть изображение, на которое я хочу нажимать. Я пробовал оба

<img @click="myMethod" src="hasan.jpg"> 

И

<div @click="myMethod">
   <img src="hasan.jpg">
</div>

Но ни один не работал! Как лучше всего это сделать?

Вот полный код:

<template>
  <div @click="myMethod">
   <img src="hasan.jpg" id="hasanStyle">
  </div>
</template>

<script>
export default{
  data(){
    return{
      showHasan:true
    }
  },
  methods:{
    myMethod(){
      showHasan = false
    }
  }
}
</script>

<style scoped>
  #hasanStyle{
    position: absolute;
    top: 120px;
    right: -323px;
  }
</style>
1
mha 23 Окт 2018 в 17:56

2 ответа

Лучший ответ

Не знаю, пробовали ли вы это:

Сначала проблема ->

methods:{
    myMethod(){
      showHasan = false
    }
  }

Над кодом должен быть:

    methods:{
        myMethod(){
          // because you are accessing data property of vue instance and 
// every vue instance make the proxy of data object as a root.
          this.showHasan = false
        }
      }

Во-вторых, когда вы используете myMethod, попробуйте использовать console.log или alert, которые подтвердят, что ваш метод работает с изображением или div.

Или посмотрите код jsfiddle:

new Vue({
  el: "#app",
  data: {
	  showHasan: true
  },
  methods: {
  	myMethod () {	
    	this.showHasan = false
    }
  }
})
<div id="app">
   <div @click="myMethod">
     <img v-if="showHasan" src="https://pbs.twimg.com/profile_images/972154872261853184/RnOg6UyU_400x400.jpg" id="hasanStyle">
  </div>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
3
Mandeep Gill 23 Окт 2018 в 15:42

Ты пробовала:

<div onClick="myMethod()">
   <img src="hasan.jpg" id="hasanStyle">
</div>

MyMethod, конечно, должен быть методом

0
Giwrgos Lampadaridis 23 Окт 2018 в 15:03
52952110