我有一个要连接到服务器后端的 Vue CLI 应用程序。
服务器将返回一个带有数据有效负载的视图模板,我想将该有效负载作为 JSON 作为数据属性注入到 Vue 应用程序中。
Vue CLI 生成的index.html
文件如下所示(我设置filenameHashing
为false
invue.config.js
以避免随机文件名):
<!DOCTYPE html>
<html lang=en>
<head>
<meta charset=UTF-8>
<meta http-equiv=X-UA-Compatible content="IE=edge">
<meta name=viewport content="width=device-width,initial-scale=1">
<link href=/css/app.css rel=preload as=style>
<link href=/css/chunk-vendors.css rel=preload as=style>
<link href=/js/app.js rel=preload as=script>
<link href=/js/chunk-vendors.js rel=preload as=script>
<link href=/css/chunk-vendors.css rel=stylesheet>
<link href=/css/app.css rel=stylesheet>
</head>
<body>
<div id=app>
</div>
<script src=/js/chunk-vendors.js></script>
<script src=/js/app.js></script>
</body>
</html>
main.js
如下所示:
import Vue from 'vue';
import SiteContainer from './components/layout/SiteContainer.vue';
new Vue({
render: h => h(SiteContainer)
}).$mount('#app');
我希望能够执行以下操作:
<div id="app" :data="{{ json-string-of-data-payload-from-server }}">
这样我就可以SiteContainer
按如下方式访问数据:
props: [
'data'
]
我已经尝试过基本上做我上面写的,但是因为该render
方法似乎完全用组件替换了#app
div,所以该属性也丢失了。site-container
:data
我还看到您可以将第二个参数传递给render
with data,但我无法弄清楚如何使其工作,最终,它在 中main.js
,而不是服务器将使用的视图模板文件,这是我需要的地方JSON 数据将其从服务器获取到 Vue 应用程序。
如何将数据从服务器生成的视图模板传递到 Vue CLI 应用程序以使一切顺利进行?谢谢你。