CNode

如何把多个模板render的结果在同一个view上显示?

Sshaohuan发布于13 年前最后回复13 年前4 回复3773 浏览0 收藏

现在遇到一个问题: 我有用多个http.request从不同的API拿到数据,而数据拿到的时间不是同步的,所以我想每当一个API数据拿完就把对应view render好。可是我用express框架和ejs模板引擎的时候发现模板引擎只能对应render一个view,下一个view被render的时候就会把之前的覆盖。不知道有没有什么好办法把独立的template render完后在同一个view里一个一个显示出来呢?我有想过用jQuery append,但是感觉不是一个特别decent的做法啊?

查看回复

回复 (4)

H
huanghaiyang#1·13 年前

第二次rander的时候从req.locals里面取出先前的数据,不可以么

S
shaohuan#2·13 年前
引用 huanghaiyang第二次rander的时候从req.locals里面取出先前的数据,不可以么

就是说第二次取出第一次的数据然后一起render一下?这样的话和所有数据都取到之后再一起显示是一样的了,感觉这样浪费了很多时间啊,应该取到一组数据就显示一组,这样一组一组asynchronously显示才会更高效不是吗?

H
huanghaiyang#3·13 年前
引用 huanghaiyang第二次rander的时候从req.locals里面取出先前的数据,不可以么

@Shaohuan 用ajax吧,一个页面好像只能render一次

S
shaohuan#4·13 年前
引用 huanghaiyang第二次rander的时候从req.locals里面取出先前的数据,不可以么

@huanghaiyang 恩。我再思考思考。直接用ajax就好像把express的mvc pattern给破坏了,但是暂时没有别的办法。想想那种大型的网站比如facebook什么的应该也不可能是等所有data都到了再render的。

参与回复
登录后即可参与回复。登录