gangnam style web component in vue.js implemetation