理解过滤器
1) 功能: 对要显示的数据进行特定格式化后再显示
2) 注意: 并没有改变原本的数据, 可是产生新的对应的
定义和使用过滤器
1) 定义过滤器
Vue.filter(filterName, function(value[,arg1,arg2,...]){
// 进行一定的数据处理
return newValue
})
2) 使用过滤器
<div>{{myData | filterName}}</div>
<div>{{myData | filterName(arg)}}</div>
编码:
<div id="test">
<p>当前时间为: {{currentTime}}</p>
<p>当前时间 1 为: {{currentTime | dateStr}}</p>
<p>当前时间 2 为: {{currentTime | dateStr('YYYY-MM-DD')}}</p>
<p>当前时间 3 为: {{currentTime | dateStr('HH:mm:ss')}}</p>
</div>
<script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript"
src="https://cdn.bootcss.com/moment.js/2.19.0/moment.js"></script>
<script>
// 注册过滤器,Vue在此作为函数对象使用,过滤器的名字dateStr,function()为处理函数,接收一个value,value为将要被格式化的数据,即currentTime的值
Vue.filter('dateStr', function (value, format) {
//format(format || 'YYYY-MM-DD HH:mm:ss'),如果format有传值则用format,没有传值则用'YYYY-MM-DD HH:mm:ss'
return moment(value).format(format || 'YYYY-MM-DD HH:mm:ss') //moment.js为JavaScript日期处理类库
})
new Vue({
el: '#test',
data: {
currentTime: new Date()
}
})
</script>