如何将ctx.state传递给另一个路由中的模板?
admin.get('/usermsg', async(ctx) => {
var count = await new Promise(function(resolve, reject){
User.count(function(err, count){
if(count){
resolve(count);
}
if(err){
reject(err);
}
});
})
ctx.state.userMsg = {
page: Number(ctx.query.page), //翻到的页数
limit: 4, //每页显示的用户数
pages: 0, //总页数
count: count //用户信息数量
}
var userMsg = ctx.state.userMsg;
ctx.state.users = await new Promise(function(resolve, reject){
userMsg.pages = Math.ceil(userMsg.count / userMsg.limit);
userMsg.page = userMsg.page > userMsg.pages ? userMsg.pages : userMsg.page; //page不能大于pages,不能小于1
userMsg.page = userMsg.page < 1 ? 1 : userMsg.page;
var skip = (userMsg.page - 1) * userMsg.limit; //每页从第几个用户信息开始读取
User.find().limit(userMsg.limit).skip(skip).exec(function(err, doc){
if(doc){
resolve(doc);
}
if(err){
reject(err);
}
})
})
await ctx.render('admin/usermsg');
})
在上面这个路由中可以将ctx.state.userMsg传递给模板,在下面这个路由中也需要这个数据,请问应该怎么传递给他?
admin.get('/category', async(ctx) => {
await ctx.render('admin/category');
})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
await next()
和链式操作比如: