Vue Click Samle

by yshrkn

HTML

<div id="app">
  <button :disabled=buttonDisabled @click=log>
    {{ buttonLabel }}
  </button>
  <button @click=toggleDisabled>
    disabled switcher
  </button>
</div>

CSS

body {
  background: #20262E;
  padding: 20px;
  font-family: Helvetica;
}

#app {
  background: #fff;
  border-radius: 4px;
  padding: 20px;
  transition: all 0.2s;
}

li {
  margin: 8px 0;
}

h2 {
  font-weight: bold;
  margin-bottom: 15px;
}

del {
  color: rgba(0, 0, 0, 0.3);
}

Vue

const vm = new Vue({
	el: '#app',
  data() {
  	return {
    	buttonDisabled: false,
    }
  },
	computed: {
  	buttonLabel() {
    	return this.buttonDisabled ? '無効' : '有効'
    }
  },
  methods: {
  	log(e) {
    	console.log(e.currentTarget)
    },
    toggleDisabled() {
    	this.buttonDisabled = !this.buttonDisabled
    }
  }
});

// 確認用
window.vm = vm;