Edit in JSFiddle

new Vue({
    el: "#app",
    data: {
        output: "",
    },
    computed: {},
    methods: {
        generate() {
            return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
                var r = (+new Date() + Math.random() * 16 ) % 16|0, v = c == 'x' ? r : (r&0x3|0x8);
                return v.toString(16);
            })
        },
        click(){
        	this.output = this.generate();
        }
    },
    mounted() {
        this.click();
    }
})