В провете есть простая пользовательская директива (которая форматирует вывод цены).
При отрисовки директива отрабатывает, но если свойтсво обновляется реактивно - значение не меняется. Если просто отобразить значение без директивы - всё норм.
// Подключенная директива
app.directive('price', PriceDirective)
// Сам файл с директивой
export default (el, binding) => {
let _number = binding.value,
_decimal = (binding?.arg?.decimal) ? binding.arg.decimal : 0,
_separator = ' ';
let decimal = (typeof (_decimal) != 'undefined') ? _decimal : "";
let separator = (typeof (_separator) != 'undefined') ? _separator : ' ';
let r = parseFloat(_number), rr = 0, b = 0;
let exp10 = Math.pow(10, decimal);
r = Math.round(r * exp10) / exp10;
rr = Number(r).toFixed(decimal).toString().split('.');
b = rr[0].replace(/(\d{1,3}(?=(\d{3})+(?:\.\d|\b)))/g, "\$1" + separator);
r = (rr[1] ? b + '.' + rr[1] : b);
el.replaceWith(r)
}
// В самом шаблоне:
<span v-price="model.price" /> руб.