Vue.filter('currencyDisplay', { currencyDisplay: { // model -> view // formats the value when updating the input element. read: function(val) { return'$'+val.toFixed(2) }, // view -> model // formats the value when updating the data. write: function(val, oldVal) { var number = +val.replace(/[^\d.]/g, '') returnisNaN(number) ? 0 : number } } }
Demo:
Model value: {{money}}
动态参数
如果一个过滤器参数没有被引号包裹,它会在当前 vm 的数据作用域里当做表达式进行动态求值。此外,过滤器函数的
this
上下文永远是调用它的当前 vm。