Add Vue.js implementation