Heim > Web-Frontend > Front-End-Fragen und Antworten > Was sind die am häufigsten verwendeten Filter in Vue?

Was sind die am häufigsten verwendeten Filter in Vue?

WBOY
Freigeben: 2023-05-24 09:01:37
Original
474 Leute haben es durchsucht

Vue.js是前端开发中备受欢迎的框架,它提供了许多实用的功能,其中过滤器是其重要的特性之一。

过滤器(Filter)是Vue.js提供的一种数据处理工具,可以对模板中的数据进行过滤和格式化输出,以便更为适合页面展示。使用Vue.js的过滤器功能,开发者可以很方便的在模板中使用一些高级的文本转换和格式化功能。下面将会介绍几种常用的Vue.js过滤器。

1. capitalize

将字符串第一个字符转变为大写。

<p>{{ message | capitalize }}</p>
Nach dem Login kopieren
<script>
  Vue.filter('capitalize', function(value) {
    if (!value) return ''
    value = value.toString()
    return value.charAt(0).toUpperCase() + value.slice(1)
  })
  new Vue({
    el: '#app',
    data: {
      message: 'welcome to vue.js'
    }
  })
</script>
Nach dem Login kopieren

2. currency

将数字转换为带有货币符号的格式。

<p>{{ price | currency }}</p>
Nach dem Login kopieren
<script>
  Vue.filter('currency', function (value, currency) {
    var digitsRE = /(d{3})(?=d)/g
    value = parseFloat(value)
    if (!isFinite(value) || (!value && value !== 0)) return ''
    currency = currency != null ? currency : '$'
    var stringified = Math.abs(value).toFixed(2)
    var _int = stringified.slice(0, -3)
    var i = _int.length % 3
    var head = i > 0
      ? (_int.slice(0, i) + (_int.length > 3 ? ',' : ''))
      : ''
    var _float = stringified.slice(-3)
    var sign = value < 0 ? '-' : ''
    return sign + currency + head +
      _int.slice(i).replace(digitsRE, '$1,') +
      _float
  })
  new Vue({
    el: '#app',
    data: {
      price: 12345.6789
    }
  })
</script>
Nach dem Login kopieren

3. filterBy

筛选数组或对象。

<div class="list-item" v-for="(item, index) in list | filterBy search">{{ item.name }}</div>

<input type="text" v-model="search">
Nach dem Login kopieren
<script>
  new Vue({
    el: '#app',
    data: {
      search: '',
      list: [
        { name: 'apple', type: 'fruit'},
        { name: 'banana', type: 'fruit' },
        { name: 'pear', type: 'fruit' },
        { name: 'carrot', type: 'vegetable'}
      ]
    },
  })
</script>
Nach dem Login kopieren

4. orderBy

对数组或对象进行排序。

<table>
  <tr v-for="item in list | orderBy 'score' -1">
    <td>{{ item.name }}</td>
    <td>{{ item.score }}</td>
  </tr>
</table>
Nach dem Login kopieren
<script>
  new Vue({
    el: '#app',
    data: {
      list: [
        { name: 'apple', score: 90},
        { name: 'banana', score: 60 },
        { name: 'pear', score: 80 },
        { name: 'carrot', score: 70}
      ]
    },
  })
</script>
Nach dem Login kopieren

5. date

将日期格式化输出。

<p>{{ date | date('YYYY-MM-DD') }}</p>
Nach dem Login kopieren
<script>
  Vue.filter('date', function (value, format) {
    if (!value) return ''
    format = format || 'YYYY-MM-DD'
    return moment(value).format(format)
  })
  new Vue({
    el: '#app',
    data: {
      date: '2021-08-16'
    },
  })
</script>
Nach dem Login kopieren

以上是常用的几种Vue.js过滤器,通过这些过滤器我们可以很方便的实现文本格式化等高级功能,提高了页面展示的效果和用户体验。

Das obige ist der detaillierte Inhalt vonWas sind die am häufigsten verwendeten Filter in Vue?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage