搜索

首页  >  问答  >  正文

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

vuejs小白
现在把angularjs做过的项目用vuejs来练习一下,我在angualrjs中使用过滤器可以这样
<p 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>
        </p>
        
      filterByObj写在js里面然后接收item的值和过滤参数  
      
      在vuejs中貌似只能不能传递参数,在v-for中如果写过虑器
高洛峰高洛峰2835 天前625

全部回复(5)我来回复

  • 迷茫

    迷茫2017-05-19 10:31:06

    参考戳

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-19 10:31:06

    https://cn.vuejs.org/v2/api/#...

    回复
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-19 10:31:06

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

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

    回复
    0
  • 迷茫

    迷茫2017-05-19 10:31:06

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

    回复
    0
  • 習慣沉默

    習慣沉默2017-05-19 10:31:06

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

    <template>
    <p class="borderClass infomation-item"v-for="(items, index) in newlist" v-if="index !== 0">
    {{items | filterByObj(4) }}
    </p>
    </template>
    
    <script>
    export default {
      data () {
        newlist: []
      },
      filters: {
        filterByObj(value, number) {
          console.log(value, number); //items 4
          return value;
        }
      }
    };
    </script>

    回复
    0
  • 取消回复