【发布时间】:2020-11-06 04:52:14
【问题描述】:
如果我使用带有 SSR 的 Nuxt 构建站点,我将如何允许用户与站点交互 - 例如,一个like 按钮,传统上我会使用 axios 访问服务器的 vue 组件来执行此操作。
客户端交互是否仍然可以在 SSR 应用程序中进行 - 如果可以 - 怎么做?
【问题讨论】:
标签: nuxt.js
如果我使用带有 SSR 的 Nuxt 构建站点,我将如何允许用户与站点交互 - 例如,一个like 按钮,传统上我会使用 axios 访问服务器的 vue 组件来执行此操作。
客户端交互是否仍然可以在 SSR 应用程序中进行 - 如果可以 - 怎么做?
【问题讨论】:
标签: nuxt.js
你可以用 Vue 应用程序处理它的方式来处理它。
SSR 所做的只是预渲染页面的 HTML 内容,这通常是出于 SEO 的原因。一旦浏览器接收到这个预渲染的内容,Vue/Nuxt 就会通过水合过程来引导应用程序。
从那时起,应用程序的行为与普通的 Vue 或 Nuxt 应用程序完全一样。您可以使用@click 处理程序创建一个按钮,调用method,然后将该方法发布到您的服务器。
您需要注意的唯一棘手的事情是,在渲染服务器端时,进程无法访问窗口对象,因此尝试直接引用它或使用引用它的插件/库是一个很大的问题不,不。对于这些,您需要使用<no-ssr></no-ssr>,或检查window 是否存在。
【讨论】: