将数据从Node-Express后端传递到Vue组件

时间:2017-08-30 07:07:53

标签: node.js mongodb express vue.js vuejs2

我还在学习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组件,但我觉得在这种情况下使用套接字是不必要的。

2 个答案:

答案 0 :(得分:1)

使用http。有什么问题?你可以使用XmlHttp,或许多民众似乎都在使用Axios。在页面的onload中触发调用,或使用其中一个vue生命周期钩子。非常好的vue文档没有太多关于如何以及何时这样做的说法。我们在页面的onload中执行它,并在页面数据请求返回时实例化vue。

答案 1 :(得分:0)

问题已经得到解答,但我想分享我的方法。我一直在尝试使用res.render()渲染对象服务器端,将其放在显示:none的div中,然后抓取客户端上的对象并将其传递给Vue的数据属性。