我使用KeystoneJS与视图的把手。我一直在试图从MongoDB获得一份公司名单,以加载导航栏,但没有成功。我知道去哪里更新导航链接,我可以在单个页面上从mongodb加载公司。我想在导航的所有页面上加载公司列表,并且compangies列表不是静态的。在导航渲染之前,我会在哪里放置代码以加载数据?如何在使用KeystoneJS加载页面之前从mongo加载数据?
0
A
回答
0
您可以在路由/ middleware.js的 'initLocals' 中间件,这将路由控制器之前运行添加自己的局部变量执行:
路线/ middleware.js
exports.initLocals = function(req, res, next) {
var locals = res.locals;
locals.user = req.user;
// Add your own local variables here
next();
};
结帐的常见的途径中间件节中的Keystone.js文档: http://keystonejs.com/docs/getting-started/
0
我国际泳联lly得到它的工作
exports.initLocals = function (req, res, next) {
res.locals.navLinks = [
{ label: 'Accueil', key: 'home', href: '/' },
{ label: 'Projets', key: 'projects', href: '/projects' },
{ label: 'Contacts', key: 'users', href: '/contacts' },
{ label: 'Livrables', key: 'deliverables',href: '/deliverables' },
{ label: 'Fichier sources', key: 'sources', href: '/sources' }
];
//Get available companies for the user
var view = new keystone.View(req,res);
view.query('companies', keystone.list('Company').model.find().populate('project').sort('title')).then(function (err, results, next) {
if (err) return next(err);
next();
});
view.render(function(){
next();
});
};
相关问题
- 1. 如何在加载父页面之前加载子页面?
- 2. 如何加载页面加载数据?
- 3. 如何在页面加载之前运行加载动画
- 4. 如何在加载页面之前加载jquery
- 5. 如何在整个页面加载之前加载bootstrap-select.js?
- 6. 如何在加载页面数据之前显示加载器映像?
- 7. 如何在加载页面之前在iframe中加载加载消息
- 8. 使用get()加载页面之前的图像加载
- 9. 如何加载页面加载之前jquery“模态窗口”?
- 10. HTML2Canvas在页面加载之前使用“window.onload”函数加载屏幕截图
- 11. 如何确保数据在tableviewcontroller试图加载之前加载
- 12. 如何在控制器加载之前加载数据?
- 13. jquery加载函数不会取代之前加载的页面
- 14. 页面加载之前的Ajax调用
- 15. 在页面加载之前删除cookie
- 16. bxslider在页面加载之前堆叠
- 17. document.body.appendChild在页面加载之前
- 18. 在加载页面之前编译scss
- 19. onPageFinished在页面加载之前触发
- 20. 在页面加载之前执行Javascript
- 21. 在页面加载之前使用PHP附加到URL
- 22. 加载页面点击,如果没有加载之前
- 23. 在Silverlight加载之前从数据库预加载翻译
- 24. 在页面加载之前加载进度条
- 25. jquery在加载页面之前执行菜单加载
- 26. 我可以在页面加载之前加载lightbox吗
- 27. 在JavaFX WebView加载页面之前显示加载图像
- 28. 在页面完全加载之前显示加载图像
- 29. 在整个页面加载之前显示加载栏
- 30. JFS加载页面加载数据表