在Vuejs中使图片可点击

时间:2018-10-23 14:56:12

标签: javascript html image vue.js

我有一张想要点击的图片。我都尝试过

<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>

2 个答案:

答案 0 :(得分:3)

不知道您是否尝试过:

首先有问题->

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.logalert来确认您的方法正在处理图像或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>

答案 1 :(得分:0)

您尝试过吗:

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

myMethod应该是一种方法