Vue之过滤器

过滤器用法:值 | 过滤器

过滤器 : 将原有的东西进行过滤 , 得到自己想要的东西.

需求 : 把数据库中用0或者1表示的数据 , 显示为0 <= => 男 , 1 <= => 女

 <!-- 过滤器用法:值 | 过滤器 -->
 <td>{{item.sex | handlerSex}}</td>
 <td>{{item.comment | handlerComment}}</td>
       
<script>
  var vue = new Vue({
    el: '#app',
    data: {     },
    methods: {    },
    filters: {
      // 过滤器的参数就是调用方,谁调用过滤器,参数就是谁
      handlerSex(sex) {
        if (sex === '1') 
          // 过滤器直接return,就作为过滤后的值
          return '男'
      },
      handlerComment(comment) {
        return comment.replace(//g,  '最帅')
      }
    }
  })
</script>   

element UI table 属性编辑

 <el-table-column prop="sex" label="性别">
      <template slot-scope="scope">{{ scope.row.sex | handlerSex }}</template>
    </el-table-column>

    <el-table-column prop="createBy" label="创建者"></el-table-column>
    
    <el-table-column prop="createTime" label="创建时间" width="180">
            <template slot-scope="scope">{{ scope.row.createTime | formatDate }}</template>
    </el-table-column>
    
    <script>
    filters: {
    handlerSex(sex) {
      if (sex === "1")
        // 过滤器直接return,就作为过滤后的值
        return "男";
      else return "女";
    },
    formatDate(dataStr) {
				var dt = new Date(dataStr);
				// yyyy-mm-dd
				var y = dt.getFullYear();
				var m = dt.getMonth() + 1;
				var d = dt.getDate();
				var hh = dt.getHours();
				var mm = dt.getMinutes();
				var ss = dt.getSeconds();

                return y + "年" + m + "月" + d +'号'
                /*  " + hh + ":" + mm + ":" + ss */
			}
  }
    
    </script>