Форматирование правил для чисел в KnockoutJS

У меня есть 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 был эффективный способ для меня управлять тем, на что похож вывод. Какие-либо предложения на способе сказать нокаут однажды, некоторым центральным способом к моей странице, что функция использовать для преобразования чисел в строки, прежде чем они будут добавлены к выводу?

В этом отношении наличие способа общего назначения сказать нокауту, как отформатировать любой тип значения, кажется, что было бы полезно. Переопределение работ Date.prototype.toString, но чувств, немного жестоких, так как это может повлиять на другое использование .toString помимо просто нокаута.

60
задан 9 October 2011 в 18:39

1 ответ

Если это примерно отображает локализованное количество текстовой привязки, очень простой способ состоит в том, чтобы использовать toLocaleString()

<tr>
  <td data-bind="text: ActualWeight().toLocaleString()"></td>
  <td data-bind="text: TrendWeight().toLocaleString()"></td>
</tr>

Для получения дополнительной информации посещение страница .

0
ответ дан 1 November 2019 в 09:59

Другие вопросы по тегам:

Похожие вопросы: