Nuxt和Vue中的Data()VS asyncData()

二者data()async data()给出了相同的结果(和显而易见的是,从结果asyncData()覆盖从结果data()

两者都会在源代码中生成HTML代码(即,在服务器端呈现的代码)

两者都可以用来await获取要提取的数据(例如:使用axios)

那么,它们之间有什么区别?

<template>
  <div>
    <div>test:  {{test}}</div>
    <div>test2: {{test2}}</div>
    <div>test2: {{test3}}</div>
    <div>test2: {{test4}}</div>
  </div>
</template>

<script>
export default {
    asyncData(app){
    return {test:"asyncData",test2:"asyncData2",test3:"asyncData3"}
  },data(){
    return {test:"data",test2:"data2",test4:"data4"}
 }
}
</script>

结果:

test:  asyncData
test2: asyncData2
test2: asyncData3
test2: data4