Rumah > hujung hadapan web > View.js > teks badan

Penjelasan terperinci tentang fungsi Vue.filter dan cara menyesuaikan penapis

王林
Lepaskan: 2023-07-29 15:07:51
asal
711 orang telah melayarinya

Penjelasan terperinci tentang fungsi Vue.filter dan cara menyesuaikan penapis

Dalam Vue.js, penapis (Penapis) ialah fungsi yang boleh ditambah dalam ungkapan templat untuk mengendalikan pemformatan teks dan prapemprosesan data. Kaedah Vue.filter ialah cara fleksibel yang disediakan oleh Vue.js untuk mentakrif dan mendaftar penapis global, yang boleh digunakan dalam templat mana-mana komponen.

1. Sintaks dan penggunaan fungsi Vue.filter

Sintaks fungsi Vue.filter adalah seperti berikut:

Vue.filter( id, [definition] )
Salin selepas log masuk

Antaranya, id ialah nama penapis, dan definisi boleh menjadi fungsi atau objek. Jika ia adalah fungsi, ia akan digunakan sebagai fungsi penapis; jika ia adalah objek, ia boleh mempunyai dua atribut: read dan write, yang digunakan untuk penapisan Berfungsi untuk memaparkan dan menapis input. readwrite,分别是用于过滤显示和过滤输入的函数。

使用Vue.filter函数,可以在Vue实例的任意位置定义和注册全局过滤器。 下面是一个例子:

Vue.filter('capitalize', function(value) {
  if (!value) return ''
  value = value.toString()
  return value.charAt(0).toUpperCase() + value.slice(1)
})

var app = new Vue({
  el: '#app',
  data: {
    message: 'hello world'
  }
})
Salin selepas log masuk

在上面的代码片段中,我们定义了名为capitalize的过滤器,该过滤器将文本的第一个字母转为大写。然后,在Vue实例中,我们可以在模板中使用该过滤器:

<div id="app">
  <p>{{ message | capitalize }}</p>
</div>
Salin selepas log masuk

上述代码将会渲染出Hello world

二、自定义过滤器

除了使用Vue.filter函数定义全局过滤器外,我们还可以自定义局部过滤器。在Vue组件中,可以通过过滤器(Filters)这个选项去注册局部过滤器。

以下是一个自定义局部过滤器的示例:

<div id="app">
  <p>{{ message | uppercase }}</p>
</div>

<script>
  var app = new Vue({
    el: '#app',
    data: {
      message: 'hello world'
    },
    filters: {
      uppercase: function(value) {
        if (!value) return ''
        value = value.toString()
        return value.toUpperCase()
      }
    }
  })
</script>
Salin selepas log masuk

在上面的代码中,我们定义了名为uppercase的局部过滤器,并在模板中使用该过滤器。此处将会将message的值转换为大写并渲染出来。

三、过滤器的链式调用

在Vue.js中,过滤器还支持链式调用,即在一个表达式中可以使用多个过滤器。

以下是一个链式调用多个过滤器的示例:

<div id="app">
  <p>{{ message | capitalize | reverse }}</p>
</div>

<script>
Vue.filter('capitalize', function(value) {
  if (!value) return ''
  value = value.toString()
  return value.charAt(0).toUpperCase() + value.slice(1)
})

Vue.filter('reverse', function(value) {
  if (!value) return ''
  value = value.toString()
  return value.split('').reverse().join('')
})

var app = new Vue({
  el: '#app',
  data: {
    message: 'hello world'
  }
})
</script>
Salin selepas log masuk

在上述代码中,我们定义了两个过滤器:capitalize用于将文本的第一个字母转为大写,reverse用于将文本进行反转。然后,在模板中,我们使用了链式调用,首先将message

Menggunakan fungsi Vue.filter, penapis global boleh ditakrifkan dan didaftarkan di mana-mana sahaja dalam contoh Vue. Berikut ialah contoh:

rrreee
Dalam coretan kod di atas, kami telah menentukan penapis bernama capitalize yang menukar huruf pertama teks kepada huruf besar. Kemudian, dalam contoh Vue, kita boleh menggunakan penapis dalam templat:

rrreee🎜Kod di atas akan memaparkan Hello world. 🎜🎜2. Penapis tersuai🎜🎜Selain menggunakan fungsi Vue.filter untuk mentakrifkan penapis global, kami juga boleh menyesuaikan penapis tempatan. Dalam komponen Vue, anda boleh mendaftarkan penapis tempatan melalui pilihan Penapis. 🎜🎜Berikut ialah contoh penapis separa tersuai: 🎜rrreee🎜Dalam kod di atas, kami mentakrifkan penapis separa bernama huruf besar dan menggunakan penapis itu dalam templat. Di sini nilai mesej akan ditukar kepada huruf besar dan diberikan. 🎜🎜3. Panggilan berantai penapis🎜🎜Dalam Vue.js, penapis juga menyokong panggilan berantai, iaitu, berbilang penapis boleh digunakan dalam satu ungkapan. 🎜🎜Berikut ialah contoh rantaian berbilang penapis: 🎜rrreee🎜Dalam kod di atas, kami mentakrifkan dua penapis: huruf besar digunakan untuk menukar huruf pertama teks kepada Huruf besar, reverse digunakan untuk membalikkan teks. Kemudian, dalam templat, kami menggunakan rangkaian panggilan, mula-mula menukar nilai mesej kepada huruf besar, kemudian menyongsangkan dan menjadikannya. 🎜🎜Ringkasan: 🎜Artikel ini menerangkan secara terperinci sintaks dan penggunaan fungsi Vue.filter, dan cara menyesuaikan penapis global dan penapis tempatan. Pada masa yang sama, panggilan rantai penapis juga diperkenalkan. Dengan menggunakan penapis dengan sewajarnya, kami boleh melaksanakan pemformatan teks dan fungsi prapemprosesan data dengan mudah, menjadikan halaman lebih fleksibel dan cekap. Saya harap ia akan membantu pembangunan Vue.js anda. 🎜

Atas ialah kandungan terperinci Penjelasan terperinci tentang fungsi Vue.filter dan cara menyesuaikan penapis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan