11

クライアントに提供されるハンドルバー テンプレートを次のようにしたい

<input type='checkbox' checked={{isChecked}}>

また

<input type='checkbox' {{#if isChecked}}checked{{/if}}>

これにコンパイルされる Jade テンプレートを作成するにはどうすればよいですか? ドキュメントから、割り当てられた値が真実であるが実際には値が含まれていない場合、checkedプロパティが含まれます。

input(type="checkbox", checked="{{isChecked}}")

にコンパイルします

<input type='checkbox' checked>

私も試しました:

input(type="checkbox", checked={{isChecked}})

input(type="checkbox", {{#if isChecked}}checked{{/if}})

それはコンパイルに失敗するだけです、私は理解しています

4

2 に答える 2

18

jade テンプレートで直接試してみてください。

<input type='checkbox' {{#if isChecked}}checked{{/if}}>

同じ形式のままにする必要があります。

捕獲

于 2013-05-29T00:19:38.870 に答える
9

後で簡単に再利用できる、より一般的なヘルパーを作成することをお勧めします

Handlebars.registerHelper("checkedIf", function (condition) {
    return (condition) ? "checked" : "";
});

次に、任意のテンプレートで使用できます。

<script id="some-template" type="text/x-handlebars-template">
   ...
   <input type="checkbox" {{checkedIf this.someField}} />
   ...
</script>

これは次のようにレンダリングされます

<input type="checkbox" checked />

 or...

<input type="checkbox" />

someField(テンプレートにマップされるオブジェクトのフィールド)の値に応じて

于 2014-07-16T22:59:06.070 に答える