我正在使用Expressjs處理這個Web應用程序,我覺得需要微軟的Razor視圖引擎提供的功能。助手內呼叫助手
Razor允許從其他幫助者中調用助手。 在Expressjs中,助手的作用域在從視圖中調用時不會擴展到助手本身。
這是否有溶劑?我想不必將助手作爲參數傳遞給視圖,或者必須要求助手的文件。
在此先感謝
例子:
我
app.helpers({ TextBoxHelper: require('./TextBox.js') });
app.helpers({ CharCounter : require('./CharCounter.js' ) });
在我的服務器
。當我渲染視圖,我用jshtml視圖引擎,並調用一個幫手,我就必須做到以下幾點:
@TextBoxHelper() //I can do this because all helpers are present in this scope
當助手被調用時,它退出的視圖範圍內,將會有不能訪問那裏的其他幫手。
現在,我希望這個助手「文本框」調用「CharCounter」。第二個助手應該是由其他幾個助手調用的,所以,如果我可以從助手的「.js」文件中調用它,而不需要腳本,或者將它作爲參數發送,那將是非常棒的。
你能舉一個你想要做什麼的例子嗎?另外請注意,助手和dynamicHelpers在3.x中被刪除。 – Pickels 2012-07-12 11:56:09
我在Pickels的問題底部添加了一個例子。當你說版本3.x時,你是指Express? o.O – 2012-07-13 08:42:28
我的意思是Express.js 3.x.在新版本中你只有res.locals。因此,如果你想在3.x中使用助手,你可以爲全局幫助程序或'res.locals.myHelper = function(){}'特定的幫助程序執行'app.locals.myHelper = function(){}'。 – Pickels 2012-07-13 11:10:10