所属分类:web前端开发
Vue.js是前端开发中备受欢迎的框架,它提供了许多实用的功能,其中过滤器是其重要的特性之一。
过滤器(Filter)是Vue.js提供的一种数据处理工具,可以对模板中的数据进行过滤和格式化输出,以便更为适合页面展示。使用Vue.js的过滤器功能,开发者可以很方便的在模板中使用一些高级的文本转换和格式化功能。下面将会介绍几种常用的Vue.js过滤器。
将字符串第一个字符转变为大写。
<p>{{ message | capitalize }}</p>登录后复制
<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>登录后复制
将数字转换为带有货币符号的格式。
<p>{{ price | currency }}</p>登录后复制
<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>登录后复制
筛选数组或对象。
<div class="list-item" v-for="(item, index) in list | filterBy search">{{ item.name }}</div> <input type="text" v-model="search">登录后复制
<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>登录后复制
对数组或对象进行排序。
<table> <tr v-for="item in list | orderBy 'score' -1"> <td>{{ item.name }}</td> <td>{{ item.score }}</td> </tr> </table>登录后复制
<script> new Vue({ el: '#app', data: { list: [ { name: 'apple', score: 90}, { name: 'banana', score: 60 }, { name: 'pear', score: 80 }, { name: 'carrot', score: 70} ] }, }) </script>登录后复制
将日期格式化输出。
<p>{{ date | date('YYYY-MM-DD') }}</p>登录后复制
<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>登录后复制
以上是常用的几种Vue.js过滤器,通过这些过滤器我们可以很方便的实现文本格式化等高级功能,提高了页面展示的效果和用户体验。
以上就是vue常用的过滤器有哪几种的详细内容,更多请关注zzsucai.com其它相关文章!