1

何らかの理由で、データバインドされたテンプレートを使用する場合、ノックアウトには jquery tmpl が必要です。そうしないと、メンバーが見つからないというエラーが表示されます (テンプレートのデータバインドされたデータがまだ設定されていません)。

tmpl エンジンは、テンプレート内の foreach バインディングをサポートしていません

1) これはバグノックアウトですか? 外部エンジンは必要ありませんか?

2) テンプレートで tmpl および foreach bindnigs を使用する回避策はありますか?

Fiddle (エラー ログを参照) http://jsfiddle.net/C9kDL/

ありがとう

edti: データバインドされたテンプレートがどのように機能するかを示すために機能する foreach のない例http://jsfiddle.net/jvLyf/

4

1 に答える 1

2

あなたが tmpl ライブラリに慣れていないと仮定すると、tmpl ライブラリがなくてもこれを機能させることができます (これはもう開発されていないことを知っていると思います)。ネイティブ ノックアウト テンプレートのみを使用すると、次のエラーが発生します。

不明なエラー: バインドを解析できません。メッセージ: TypeError: 未定義のプロパティ 'children' を読み取れません。バインディング値: foreach: 子

この理由は、selectednull として開始されるためです。したがって、テンプレート呼び出しに条件を追加すると、次のようになります。

<div data-bind="template: { name: 'test', data: selected, if: selected }"></div>

.. その後、問題なく動作します。

例については、 http://jsfiddle.net/unklefolk/Nrrv5/1/を参照してください。

これがあなたが探していたものであることを願っています。

于 2012-06-19T09:34:27.247 に答える