vuejs中有没有像angularjs过滤器一样的方法

vuejs小白
现在把angularjs做过的项目用vuejs来练习一下,我在angualrjs中使用过滤器可以这样
<div class="borderClass infomation-item" ng-repeat="items in newlist|filterByObj:'4'" ng-if="$index!=0">

            <a ui-sref="tv_pro({id:items.programesHistory_id})">
                <span ng-bind="items.programesHistory_name"></span>
                <p class="cache">{{items.programesHistory_description}}</p>
            </a>
        </div>
        
      filterByObj写在js里面然后接收item的值和过滤参数  
      
      在vuejs中貌似只能不能传递参数,在v-for中如果写过虑器
阅读 3.8k
5 个回答

vue里面有个filters过滤器 可以实现你要的
https://vuefe.cn/v2/api/#filters
就像这样:

// template里面
<div>{{averageMonthPay|fMoney}}</div>
// script里面
name: 'confirm',
filters: {
    fMoney(num = 0) {
        return (num / 1000).toFixed(2)
    }
},
props: {},
data() {}

要么就写成过滤器,要么就用计算属性,看看那个适合你。vue.js文档中有说明。

因为过滤器是一个JavaScript函数,所以你可以这样做:

<template>
<div class="borderClass infomation-item"v-for="(items, index) in newlist" v-if="index !== 0">
{{items | filterByObj(4) }}
</div>
</template>

<script>
export default {
  data () {
    newlist: []
  },
  filters: {
    filterByObj(value, number) {
      console.log(value, number); //items 4
      return value;
    }
  }
};
</script>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题