<template> <!-- eslint-disable-next-line vue/no-v-html --> <pre id="data" v-html="JSON.stringify($data)" /> </template> <script> export default { async asyncData () { await new Promise(resolve => setTimeout(resolve, 100)) return { async: 'data', async2: 'data2' } }, data () { return { foo: 'bar', user: { name: 'Baz', inventory: { type: 'green', items: ['A'] } } } }, async fetch () { await new Promise(resolve => setTimeout(resolve, 100)) this.user.inventory.items.push('B') this.user.name = 'Potato' this.foo = 'barbar' this.async2 = 'data2fetch' } } </script>