根据Nuxt文档,这些方法用于在页面投放之前预填充存储。
在什么情况下应使用ORDER BY s.STDLASTNAME, s.STDGPA DESC
,在什么情况下应使用fetch
?
答案 0 :(得分:2)
如果我需要发出预取所有应用程序中使用的选项,语言,配置值,输入选项等的请求,我认为nuxtServerInit
是一个解决之道。
fetch
和asyncData
会在页面呈现后立即在客户端和服务器上触发。
这意味着fetch
和asyncData
每次在路由器与组件匹配时都会触发,而nuxtServerInit
在服务器上刚开始时仅触发一次,而不会再次触发。 / p>
答案 1 :(得分:1)
如果您需要从一开始就用特定数据填充商店,则无论使用哪个页面,都应使用nuxtServerInit
。
在访问特定页面时,请使用fetch/asyncData
,并且需要为此页面专门填充vuex存储(或页面data
对象)。
答案 2 :(得分:0)
nuxtServerInit :仅用于一次获取您经常使用的某些数据(例如会话中的userInfo),然后可以在所有组件中使用它。因此,您不必经常与服务器联系。而且,这是Vuex提供的商店中的一项操作,因此它将由Vuex自动调度。
获取/异步数据:它们在呈现页面之前在服务器端(刷新页面时)和客户端(当您单击并路由到页面时)之前执行。但是,获取仅用于填充商店(您可以从商店中获取数据进行计算), asynchData 用于设置组件数据(您可以填充商店在创建的挂钩中。
参考: https://nuxtjs.org/guide/vuex-store#the-nuxtserverinit-action和 https://nuxtjs.org/api/pages-fetch