Требуется отформатировать суммы, отображаемые на всех страницах.Это мой код для пользовательского связывания.
(function () {
function refresh(element, valueAccessor) {
var val = ko.utils.unwrapObservable(valueAccessor());
$(element).text(getCultureSpecificAmount(val));
}
ko.bindingHandlers.currency = {
init: refresh,
update: refresh
}
})();
И это метод, который форматирует суммы (не очень уместно, но все еще публикует)
function getCultureSpecificAmount(number) {
var result = 0;
var regex = /[+-]?\d+(?:\.\d+)?/g;
var tempNumber = number;
if (match = regex.exec(number.toString())) {
tempNumber = match[0];
}
result = (parseFloat(tempNumber)).toLocaleString(culture, { maximumFractionDigits: currencyDecimalDigits, minimumFractionDigits: 0 });
return (number.toString()).replace(tempNumber, result);
}
Это из cshtml, чтобы показать, как я его связываю
<span style="font-weight:bold" data-bind="currency:PurchaseOrderValue"></span>
Метод getCultureSpecificAmount написан на обычном js.В настоящее время я пишу код для пользовательского связывания на каждом js.Если я перенесу этот код в common.js, он перестанет работать.Запись этого кода на каждой странице делает код действительно уродливым.Есть ли способ определить пользовательское связывание глобально и использовать его на всех страницах.Это мой проект по нокауту, поэтому я совершенно невежественен.