2016-02-11 94 views
3

如何爲模型做定製的雙向過濾器,在Vue.js中快速更新。雙向過濾器即時更新| Vue.js

以下來自docs的代碼示例適用於輸入模糊。但我需要它在按鍵上工作。

Vue.filter('currencyDisplay', { 
    read: function(val) { 
    return '$'+val.toFixed(2) 
    }, 
    write: function(val, oldVal) { 
    var number = +val.replace(/[^\d.]/g, '') 
    return isNaN(number) ? 0 : parseFloat(number.toFixed(2)) 
    } 
}) 

非常感謝您的幫助!

+0

燦你在這擴展?我有一個使用粘貼過濾器的JSFiddle,每次擊鍵都會更新。 http://jsfiddle.net/b6ubat6k/ –

回答

0

您可以用getset方法火過濾器的readwrite方法,分別建立計算性能應用過濾器到Vue公司的數據屬性:

data() { 
    return { 
    foo: 0, 
    } 
}, 
computed: { 
    filteredFoo: { 
    get() { 
     return Vue.filter('currencyDisplay').read(this.foo); 
    }, 
    set(value) { 
     this.foo = Vue.filter('currencyDisplay').write(value); 
    } 
    } 
} 

Here's a working fiddle.