我使用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. 如何在整個頁面加載之前加載bootstrap-select.js?
- 3. 如何在頁面加載之前運行加載動畫
- 4. 使用get()加載頁面之前的圖像加載
- 5. 如何加載頁面加載之前jquery「模態窗口」?
- 6. HTML2Canvas在頁面加載之前使用「window.onload」函數加載屏幕截圖
- 7. jquery加載函數不會取代之前加載的頁面
- 8. 如何在控制器加載之前加載數據?
- 9. 如何確保數據在tableviewcontroller試圖加載之前加載
- 10. document.body.appendChild在頁面加載之前
- 11. 在頁面加載之前執行Javascript
- 12. bxslider在頁面加載之前堆疊
- 13. 在加載頁面之前編譯scss
- 14. 在頁面加載之前使用PHP附加到URL
- 15. 在Silverlight加載之前從數據庫預加載翻譯
- 16. 我可以在頁面加載之前加載lightbox嗎
- 17. jquery在加載頁面之前執行菜單加載
- 18. 在頁面完全加載之前顯示加載圖像
- 19. 如何在頁面加載之前執行Javascript函數?
- 20. 如何在頁面加載後加載數據表?
- 21. jQuery如何使用加載從其他頁面加載div
- 22. 如何使控制器在加載頁面之前提供工廠數據angularJS
- 23. 重定向之前頁面加載
- 24. 頁面加載之前檢查密碼
- 25. 使用ajax,asp.net加載頁面數據
- 26. 頁面加載之前加載對話框
- 27. 頁面加載之前的jQuery Ajax加載器
- 28. jqm + backbone.Js + require.Js顯示加載消息之前加載頁面
- 29. 加載橫幅圖像之前不加載頁面
- 30. 在頁面加載完成之前在JCarousel中使用JCarousel?