У меня есть viewModel с кучей чисел с большим количеством десятичных знаков. Если мои привязки выглядят так:
<tr>
<td data-bind="text: Date"></td>
<td data-bind="text: ActualWeight"></td>
<td data-bind="text: TrendWeight"></td>
</tr>
Тогда, конечно, выход имеет все десятичные знаки и очень нечитабель. Изменение привязок, чтобы выглядеть так, решает проблему, но очень многословно и "шумно":
<tr>
<td data-bind="text: Date"></td>
<td data-bind="text: ActualWeight().toFixed(1)"></td>
<td data-bind="text: TrendWeight().toFixed(1)"></td>
</tr>
Обратите внимание, что это один небольшой фрагмент и нужно добавить .toFixed(1), каждое место, где я привязываю число, приводит к гораздо более грязной разметке, чем показано здесь.
Для всех, кроме чисел, переопределение toString было эффективным способом контролировать то, как выглядит вывод. Любые предложения по способу сказать нокаутом один раз, каким-то центральным способом для моей страницы, какую функцию использовать для преобразования чисел в строки, прежде чем они будут добавлены в вывод?
В этом отношении, имея общий способ сказать нокауту, как форматировать любой тип значения, кажется, что это было бы полезно. Overriding Date.prototype.toString работает, но чувствует себя немного тяжело, поскольку это может повлиять на другие применения .toString, кроме как только нокаута.