KnockoutJSを使用して2次元配列をテーブルとしてレンダリングする際に問題が発生しました。私はdemo fiddleを作成しましたが、これは、関連するテンプレートのコードです:KnockoutJSのテンプレート、空の文字列がレンダリングされない
<script type="text/x-jquery-tmpl" id="resultRowTemplate">
<tr data-bind="template: { name: 'resultColumnTemplate', foreach: $data }"></tr>
</script>
<script type="text/x-jquery-tmpl" id="resultColumnTemplate">
<td>-${$data}-</td>
</script>
<table>
<tbody data-bind="template: { name: 'resultRowTemplate', foreach: Results }"></tbody>
</table>
私の問題は、データが空の文字列であるときresultColumnTemplateがレンダリングされていないということです。空の文字列をnull/falseとして扱い、レンダリングすべきではないと判断しているものを推測しています。
これはmy fiddleで確認できます。私はそれが代わりに私が見ているものの
-1- -2- -- -4-
としてレンダリングするために期待したい:
-1- -2- -4-
私は空の文字列が単一の空白に置き換えられて、私のデータを変更することで回避策を持っています、誰かが問題のより良い提案や理解を得ることを望んでいた。ありがとう。
ありがとうございます。 '{{each}} 'の提案を使ったことがありますが、最も軽くてハックの少ない解決策です。誰か他の人がまだきれいなものを持っている場合には、私はちょっと答えとしてあなたをマークしておきます。 – SamStephens