Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何防止Vue.js覆盖预呈现的HTML文本内容?_Javascript_Vue.js_Vuejs2 - Fatal编程技术网

Javascript 如何防止Vue.js覆盖预呈现的HTML文本内容?

Javascript 如何防止Vue.js覆盖预呈现的HTML文本内容?,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我的站点仅对某些组件使用Vue.js(而不是整个站点或页面)。站点本身是用Python编写的,并在服务器端呈现。在服务器端完成的一件事是解析HTML标记中的所有文本内容-文本内容充当键,将转换为键的值(例如,^默认标题^将变成实际标题)。由于my Vue.js应用程序是在客户端呈现到应用程序的容器div中的,因此在SSR期间,翻译程序将保留Vue应用程序的所有文本内容不变 因此,当前的解决方案是通过 添加Vue应用程序使用的所有文本内容(例如{defaultHeading:^defaultHea

我的站点仅对某些组件使用Vue.js(而不是整个站点或页面)。站点本身是用Python编写的,并在服务器端呈现。在服务器端完成的一件事是解析HTML标记中的所有文本内容-文本内容充当键,将转换为键的值(例如,
^默认标题^
将变成
实际标题
)。由于my Vue.js应用程序是在客户端呈现到应用程序的容器div中的,因此在SSR期间,翻译程序将保留Vue应用程序的所有文本内容不变

因此,当前的解决方案是通过 添加Vue应用程序使用的所有文本内容(例如{defaultHeading:^defaultHeading^})。Vue应用程序然后使用该对象的键(已通过翻译解析器)进行数据绑定。此解决方案的问题是,它会生成无意义的额外代码,并使维护代码变得更加困难(每次Vue app添加/删除文本元素时,它也必须反映在Vue app外部定义的JS对象中)

这让我开始为我的Vue应用程序测试预渲染(SSR可能不会,因为服务器没有使用Node.js).Prerendering生成了应用程序的HTML代码,文本元素在SSR期间按照需要进行了翻译,但在安装Vue应用程序之后,翻译的文本内容立即被Vue应用程序中的值所取代-因此,我从Prerendering中获得的默认标题^变成了
实际标题
,在安装Vue应用程序后,我们将其替换nt返回到
^默认标题^


在使用预渲染HTML时,是否有方法防止Vue应用程序覆盖某些文本值?(或者,对于我的目标,可能有比预渲染更好的方法?

在预渲染页面中,在安装应用程序的id旁边包含了此标记?(通常为id=“app”)


我也遇到了同样的问题,如果我找到了解决方案,我会发回一些东西,但从外观上看,应用程序似乎忽略了预渲染的标志data server rendered=“true”并将其删除,我会说,这几乎就像路由器事件发生一样。
data-server-rendered="true"