我还在学习Vue.js 2,所以如果这个问题有点傻,我会道歉。我使用MongoDB,Node,Express和Vue构建应用程序。通常我会使用模板引擎,例如Ejs,通过Express的res.render方法传递的数据可以很容易地在模板中捕获。
是否有类似的方法将数据从后端传递到根Vue组件?例如,通常,get请求从Mongodb获取一些数据,express将呈现模板文件并将数据传递给它。
app.get("/gallery/:id", function(res, req) {
var id = req.params.id;
database.findById(id, function(err, data) {
....
res.render("home", data);
}
});
现在我的根Vue应用程序附加到html文件。我希望能够使用从数据库返回的数据动态呈现应用程序。
我之前构建了一个应用程序,它从api流数据并通过套接字传递给我的Vue组件,但我觉得在这种情况下使用套接字是不必要的。
答案 0 :(得分:1)
使用http。有什么问题?你可以使用XmlHttp,或许多民众似乎都在使用Axios。在页面的onload中触发调用,或使用其中一个vue生命周期钩子。非常好的vue文档没有太多关于如何以及何时这样做的说法。我们在页面的onload中执行它,并在页面数据请求返回时实例化vue。
答案 1 :(得分:0)
问题已经得到解答,但我想分享我的方法。我一直在尝试使用res.render()渲染对象服务器端,将其放在显示:none的div中,然后抓取客户端上的对象并将其传递给Vue的数据属性。