0

「プロジェクト」フォーム用の JST-->EJS バックボーン テンプレートがあります。理想的には、モデルの作成と編集の両方に同じテンプレートを使用したいと考えています。

現時点では、テンプレートに次のようなものがあります。

<input type='text' name='demo_field' value='<%= demo_field %>' />

demo_field に値がある限り問題なく動作しますが、値がない場合は、フォーム全体がキャッチされない referenceError で失敗します。

では、バックボーン...または JST...または EJS で、変数フィールドが失敗するのではなく空白を返すことを保証する最もエレガントな方法は何ですか?

乾杯...

4

1 に答える 1

1

field if field?javascript にはCoffeeScriptのようなことを行う良い方法がないため、おそらくヘルパーを作成し ます。

次のようなものをヘルパー関数にスローします。

function printIfExists(field) {
  return (typeof field !== "undefined" && field !== null) ? field : '';
}

テンプレートでそれを呼び出します。やさしい!

function別の宣言を使用することもできます。

var printIfExists = function(field){...}

私は長い間coffeescriptを使用してきましたが、理由を思い出すことができません...おそらく、前の例のスコープの問題です。

于 2012-01-26T07:28:25.737 に答える