vue3.0过滤器,vue中的过滤器

  vue3.0过滤器,vue中的过滤器

  去年vue3出来了。增加了许多新功能,但也删除了一些功能。比如vue2中的滤镜功能就被删除了。同时,官方建议:用方法调用或计算属性替换过滤器。本文将分析vue3删除滤镜的原因,以及如何用其他方法实现滤镜的功能。

  

目录

   vue的滤镜why是什么?示例分析需求描述HTML结构和数据如下:过滤器实现、计算实现、方法实现摘要

  

什么是vue的过滤器

  过滤器可以通俗地理解为处理数据的一种特殊方法。

  例如,枚举值可以使用筛选器:例如,1 2 3 4对应于成功失败,并且已在进行中返回。

  例如,价格后面跟一个筛选器,价格被格式化为两位小数。

  例如时间格式。

  详情请参考官方文件。

  

why?

  笔者认为原因是vue3需要简化代码,滤镜的功能重复。filter能实现的功能、方法、计算属性基本都能实现。所以干脆删除filter的vue源代码,维护起来更方便。

  

举例分析

  

需求描述

  假设我们有一条快递信息。后端返回给我们的不是具体的状态值,而是对应的字符串1 2 3 4 5 6等等。不同的状态有一套对应关系。

  规则,例如,如果状态是1,它是要装运的,等等。具体效果图和状态的对应关系如下:

  

HTML结构和data数据如下

  模板

  div id=应用程序

  ul v-for=(item,index)in arr: key= index

  李快递公司:{ { item . deliver company } }/李

  Li运输状态:{{ item.expressState }}/li

  /ul

  /div

  /模板

  脚本

  导出默认值{

  data() {

  返回{

  arr: [

  {

  发货公司,京东快递,

  express state:“1”,

  },

  {

  送货公司:“顺丰速运”,

  express state:“2”,

  },

  {

  发货公司, ZTO快递:

  expressState:“3”,

  },

  {

  DeliverCompany:“邮政快递”,

  expressState:“4”,

  },

  {

  DeliverCompany:“极限兔子快递”,

  express state:“5”,

  },

  {

  DeliverCompany:“某某快递”,

  expressState: null,

  },

  ],

  };

  },

  };

  /脚本

  

使用filter实现

  这里我们不需要全局过滤器,而是使用组件内部的过滤器。

  模板

  div id=应用程序

  ul v-for=(item,index)in arr: key= index

  李快递公司:{ { item . deliver company } }/李

  !-使用过滤器语法-

  Li运输状态:{ { item . express state show state } }/Li

  /ul

  /div

  /模板

  脚本

  导出默认值{

  //数据.篇幅有限,省略就好。

  //在组件内部定义,然后根据不同的状态返回不同的值内容。

  过滤器:{

  showState(state) {

  开关(状态){

  案例“1”:

  返回“待装运”;

  打破;

  案例“2”:

  返回“已装运”;

  打破;

  案例“3”:

  返回“在途”;

  打破;

  案例“4”:

  返回“发货中”;

  打破;

  案例“5”:

  返回“已收到”;

  打破;

  默认值:

  返回‘快递信息丢失’;

  打破;

  }

  },

  },

  };

  /脚本

  

使用computed实现

  模板

  div id=应用程序

  ul v-for=(item,index)in arr: key= index

  李快递公司:{ { item . deliver company } }/李

  !-使用计算属性-

  Li运输状态:{ { Computed Text(item . express state)} }/Li

  /ul

  /div

  /模板

  脚本

  导出默认值{

  //数据.篇幅有限,省略就好。

  计算值:{

  computedText() {

  //计算属性返回接收参数的函数。

  返回函数(状态){

  开关(状态){

  案例“1”:

  返回“待装运”;

  打破;

  案例“2”:

  返回“已装运”;

  打破;

  案例“3”:

  返回“在途”;

  打破;

  案例“4”:

  返回“发货中”;

  打破;

  案例“5”:

  返回“已收到”;

  打破;

  默认值:

  返回‘快递信息丢失’;

  打破;

  }

  };

  },

  },

  };

  /脚本

  

使用methods实现

  模板

  div id=应用程序

  ul v-for=(item,index)in arr: key= index

  李快递公司:{ { item . deliver company } }/李

  !-如何使用它-

  Li运输状态:{ { methods text(item . express state)} }/Li

  /ul

  /div

  /模板

  脚本

  导出默认值{

  //数据.篇幅有限,省略就好。

  方法:{

  方法文本(状态){

  开关(状态){

  案例“1”:

  返回“待装运”;

  打破;

  案例“2”:

  返回“已装运”;

  打破;

  案例“3”:

  返回“在途”;

  打破;

  案例“4”:

  返回“发货中”;

  打破;

  案例“5”:

  返回“已收到”;

  打破;

  默认值:

  返回‘快递信息丢失’;

  打破;

  }

  },

  },

  };

  /脚本

  看到哔哔声,filter过滤器可以处理数据,computed计算属性和methods方法也可以处理数据。在这种情况下,它是重复的。

  

总结

  Vue3删除过滤器类似于:

  Employee filter可以完成这项工作,Employee computed和employee方法也可以,它们比employee filter做得好得多。在这种情况下,boss vue会解雇filter,而filter也会被解雇。毕竟多一个员工,多一份人工成本(员工筛选喊出来)

  以上是vue3删除滤镜原因的详细内容。更多关于vue3删除滤镜的信息,请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: