8

サーバー側でejsを使用して、JavaScript以外のバージョンのWebアプリを作成しようとしています。アプリの状態を含むオブジェクトをテンプレートに渡し、ある時点でその状態オブジェクトを使用してURLを作成します。つまり、基本的には<%= makeUrl(objectState.data [0])%>のようなことをしたいと思います。

ejsテンプレート内からmakeUrlを呼び出し可能にするにはどうすればよいですか?

ありがとう

編集:関数をパラメーターとしてテンプレートに渡すことができることは知っていますが、より良い方法はありますか?

4

1 に答える 1

13

Express 3 では、動的ヘルパーの概念が削除されました。app.locals を介して関数をテンプレートに渡すことは、実際にこれを行うための推奨される方法だと思います。あなたはすでにその方法を知っていると思いますが、同じ質問をしている他の人のために:

in your app.js:
app.locals.myFunc = function(arg){...}

in your template:
<%= myFunc(objectState.data[0]) %>
于 2012-11-08T17:33:48.347 に答える