iT邦幫忙

0

Vue 之 Vue.filter()

Vue.filter() 可以用做單一值的修改,例如:為數字加上千分位逗號、轉換時間格式...等

基本的結構會如下:

<div id="app">
    {{ 要帶入的變數 | filter名稱 }}
    {{ number | moeny }}
    {{ date | unix }}
</div>

接下來就實際來撰寫一次:

<script>
// 使用 Vue.filter 把數字加上千分號
Vue.filter('money',function(num){
    const parts = num.toString().split('.');
    parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
    return '$' + parts.join('.');
});

// 使用 Vue.filter 把 unix timestamp 轉成時間格式
Vue.filter('unix', function (value) {
    const time = new Date(value * 1000);
    return `${time.getFullYear()}/${time.getMonth() + 1}/${time.getUTCDate()}`
});

new Vue({
    el: '#app',
    data: {
        number: 123434635,
        date: 1595462192,
    }
})
</script>

Vue.filter() 使用上有幾個需要注意的點
其一,後面是使用 function
其二,要使用 return 回傳值,不然會跳錯


尚未有邦友留言

立即登入留言