如何使用VueJS使用按钮在图片周围显示边框?

时间:2018-09-05 20:30:05

标签: javascript html css3 vue.js

我尝试使用VueJS在带有按钮的图片周围显示边框,该边框通常显示在我的按钮上。我了解这一点,但不了解如何将按钮和图像链接在一起以显示图片周围的边框。

the link of my code

Vue.component('my-button', 'my-img' {
  template: `<button :class="classObj" @click="toggleState()">My Button</button>
  <my-img :src="image1" @click="toggleState()" :class="classObj" >`,

  props: {
    state: {
      type: String
    }
  },

  data () {
    return {
      isActive: false, 
    }
  },

  computed: {
    classObj () {
      return {
        [this.state]: this.isActive
      }
    }
  },

  methods: {
    toggleState () {
      this.isActive = this.isActive ? false : true;
    }
  }
});

const App = new Vue({
  el: '#app',
  data: {
     image1 :"http://emersontech.net/wp-content/uploads/2013/05/java.jpg",
  },

});

1 个答案:

答案 0 :(得分:1)

我已经更改了代码,以通过从按钮向父组件发出事件来更改状态来获得所需的结果,因此您无需为图像创建组件,而只需使用父模板中的<img .../>标签。您还必须知道,使用propsthis.$emit()函数可以保证父组件和子组件之间的通信。 here the working solution