搜尋

首頁  >  問答  >  主體

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 天前627

全部回覆(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
  • 取消回覆