要求是格式化所有页面上显示的金额。这是我的自定义绑定代码。
(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,则它将停止工作。在每一页上写这段代码会使代码看起来非常难看。有没有办法全局定义自定义绑定并在所有页面中使用它。这是我的淘汰赛项目,所以我完全一无所知。