美文网首页
第六章过滤器

第六章过滤器

作者: 皇甫贝 | 来源:发表于2019-10-09 12:01 被阅读0次
概念:

过滤器,本质上都是函数。其作用在于用户输入数据后,进行处理,并返回数据结果。

语法:

使用管道符 | 进行连接

样例
{{ 'abc' | uppercase }}  //'abc'  => 'ABC'
注意:

在vue.js官方文档中提到:
vue.js支持在任何出现表达式的地方添加过滤器,还可以支持参数,参数之间用空格分割;并且可以支持链式调用

样例
{{ message | dilterFunction "arg1" arg2 }}  

敲黑板:过滤器函数将始终一表达式的值作为第一个参数。带引号的参数会被当成字符串处理,而不带引号的参数会被当作数据属性名称来处理


vue.js内置过滤器

字母操作

capitalize(首字母大写)

<div class="test">
 {{message | capitalize}}
</div>
 
<script type="text/javascript">
var myVue = new Vue({
 el: ".test",
 data: {
 message: "abc"
 }
})
</script>
//结果:"abc" => "Abc"

uppercase(全部大写)

// 初始message:abc
{{message | uppercase}}
// 上面代码输出:ABC

lowercase(全部小写)

// 初始message:ABC
{{message | lowercase}}
// 上面代码输出:abc

currency(输出金钱以及小数点)
第一个参数 {String} [货币符号] - 默认值: '$'
第二个参数 {Number} [小数位] - 默认值: 2

<div class="test">
 {{message | currency}} // 输出$520.13
 {{message | currency '¥' "2"}} //输出 $520.13

</div>
<script type="text/javascript">
 var myVue = new Vue({
 el: ".test",
 data: {
  message: "520.1314"
 }
 })
</script>

json过滤器
<div class="test">
<pre>{{ user | json 4 }}</pre>
</div>
<script type="text/javascript">
 var myVue = new Vue({
 el: ".test",
 data: {
 user:{'name':'hfgb','age':26}
 }
 })
</script>

结果:

{
  'name' : 'hfgb',
  'age' : 26
}

限制🚫

limitBy(排序)

  1. 限制:需在v-for(即数组)里面使用
    第一个参数:{Number} 取得数量
    第二个参数:{Number} 偏移量
<div class="test">
 <ul v-for="item in lili | limitBy 10">
 <li>{{item}}</li>
 输出1 2 3 4 5 6 7 8 9 10
 </ul>
 <ul v-for="item in lili | limitBy 10 3">
 <li>{{item}}</li>
 输出 4 5 6 7 8 9 10 11 12 13
 </ul>
</div>
<script type="text/javascript">
 var myVue = new Vue({
 el: ".test",
 data: {
  lili: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
 }
 })
</script>

filterBy(过滤)

  1. 限制:需在v-for(即数组)里面使用
    第一个参数: {String | Function} 需要搜索的字符串
    第二个参数: in (可选,指定搜寻位置)
    第三个参数: {String} (可选,数组格式)
<div class="test">
 <ul v-for="item in lili | filterBy 'o' ">
 <li>{{item}}</li>
 输出oi oa lo ouo oala
 </ul>
 <ul v-for="item in man | filterBy 'l' in 'name' ">
 <li>{{item.name}}</li>
 输出lily lucy
 </ul>
 <ul v-for="item in man | filterBy 'l' in 'name' 'dada' ">
 <li>{{item.name+"+"+item.dada}}</li>
 输出lily+undefined lucy+undefined undefined+lsh
 </ul>
</div>
<script type="text/javascript">
var myVue = new Vue({
 el: ".test",
 data: {
 lili: ["oi", "oa", "ll", "lo" ,"ouo" ,"kk" ,"oala"],
 man: [ //此处注意man是数组,不是对象
 {name: "lily"},
 {name: "lucy"},
 {name: "oo"},
 {dada: "lsh"},
 {dada: "ofg"}
 ]
 }
})
</script>

orderBy(排序)
orderBy =>sort()函数

  1. 限制:需在v-for(即数组)里面使用
    第一个参数: {String | Array | Function} 需要搜索的字符串
    第二个参数: {String} 可选参数 order 决定结果升序(order >= 0)或降序(order < 0),默认是升序
<div class="test">
 {{'2018-11-16 18:12:15'|formatDate}}
</div>
<script type="text/javascript">
 var myVue = new Vue({
 el: ".test",
 methods: {
 },
 filters:{
  formatDate (val) {
  return moment(val).format('YYYY-MM-DD');
  // 这里用到了moment.js
  }
 }
 })
</script>

debounce(事件延时)

  1. 限制: 需在@里面使用
  2. 参数:{Number} [wait] - 默认值: 300
  3. 功能:包装处理器,让它延迟执行 x ms, 默认延迟 300ms。包装后的处理器在调用之后至少将延迟 x ms, 如果在延迟结束前再次调用,延迟时长重置为 x ms。
<div class="test">
 <button id="btn" @click="doSomeThing | debounce 10000">点击我</button>
</div>
<script type="text/javascript">
 var myVue = new Vue({
 el: ".test",
 methods: {
  doSomeThing: function () {
  // do something
  }
 }
 })
</script>

相关文章

  • VUE过滤器和计算属性

    过滤器主要分为全局过滤器和局部过滤器。 全局过滤器如下: 局部过滤器如下: 计算属性如下: 过滤器中获取日期: 计...

  • 自定义过滤器的封装

    封装自定义过滤器 引入过滤器 添加+注册过滤器 使用过滤器

  • vue的过滤器及计算属性

    1,过滤器:让要显示在页面上的内容进行重新筛选2,过滤器分为全局过滤器和局部过滤器全局过滤器: 局部过滤器: 3,...

  • 2018-09-18 vue初学六(过滤器:filter(fil

    1.1过滤器 过滤器分为两种:1、全局过滤器:filter2、局部过滤器:filters 1.2过滤器 (当前时间...

  • 过滤器

    ...过滤器分为全局过滤器和局部过滤器全局过滤器的格式:html:{{数据,全局过滤器的名字}}//解析数据js:...

  • 六、过滤器的使用 ------ 2020-05-07

    1、过滤器的作用: 2、全局过滤器 3、局部过滤器 4、过滤器的使用

  • 过滤器和计算属性

    1、过滤器 过滤器指让要显示在页面上的内容进行重新筛选。 过滤器分为两种:全局过滤器、局部过滤器。 2、全局过滤器...

  • Vue的节点

    过滤器Filters 过滤器函数,必须定义在filters节点之下,过滤器本质是函数 分为私有过滤器和全局过滤器 ...

  • Vue进阶(1)

    一.过滤器 过滤器分为局部过滤器和全局过滤器 1.局部过滤器 格式 2.全局过滤器 格式 练习 1.当数字为小于1...

  • 不锈钢锥形过滤器@管道锥形过滤器@冲孔进水口过滤器

    不锈钢锥形过滤器@管道锥形过滤器@冲孔进水口过滤器 产品介绍:临时过滤器又称锥型过滤器,属于管道粗过滤器系列最简单...

网友评论

      本文标题:第六章过滤器

      本文链接:https://www.haomeiwen.com/subject/bdkipctx.html