Objetivo da coluna
Sob o controle da pilha de tecnologia conjunta de vue e elemento UI, esta coluna fornece exemplos de código-fonte eficazes e introduções de pontos de informações para uso flexível.
Fornece algumas operações básicas do vue2: instalação, referência, uso de modelo, computado, observação, ciclo de vida (beforeCreate, criado, beforeMount, montado, beforeUpdate, atualizado, beforeDestroy, destruído, ativado, desativado, errorCaptured, componentes), $root, $parent , $children , $slots , $refs , props, $emit , eventbus ,provide/inject, Vue.observable, $listeners, $attrs, $nextTick , v-for, v-if, v-else,v- else-if, v-on, v-pre, v-cloak, v-once, v-model, v-html, v-text, keep-alive, slot-scope, filtros, v-bind, .stop, . nativo, diretivas, mixin, renderização, internacionalização, Vue Router, etc.
Conteúdo deste artigo
Introdução ao filtro
Filtro em Vue.js é uma função customizada para processamento de texto, que pode ser usada diretamente em templates. Os filtros podem ser usados em dois locais: 双花括号插值和 v-bind 表达式
. 过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符号(|)表示
.
As etapas de uso são as seguintes:
-
Definir filtros: Defina uma função no atributo de filtros da instância ou componente Vue, que recebe um parâmetro (o texto que precisa ser filtrado) e retorna o texto filtrado.
-
Use filtros em modelos: onde você precisar usar um filtro, adicione o nome do filtro após a expressão, separado por uma barra vertical (|).
Exemplos de renderizações
Exemplo de código-fonte
/*
* @Author: 大剑师兰特(xiaozhuanlan),还是大剑师兰特(CSDN)
* @此源代码版权归大剑师兰特所有,可供学习或商业项目中借鉴,未经授权,不得重复地发表到博客、论坛,问答,git等公共空间或网站中。
* @Email: [email protected]
* @weixin: gis-dajianshi
* @First published in CSDN
* @First published time: 2024-02-06
*/
<template>
<div class="djs-box">
<div class="topBox">
<h3>vue中filters的使用方法(图文示例)</h3>
<div>大剑师兰特, 还是大剑师兰特,gis-dajianshi</div>
</div>
<div class="dajianshi">
<p>变化前:{
{
message}} , filter变化后:{
{
message | capitalize }}</p>
<p>变化前:{
{
price }} ,filter变化后:{
{
price | currency }}</p>
<p>变化前:{
{
date }} ,filter变化后:{
{
date | formatDate }}</p>
</div>
</div>
</template>
<script>
export default {
data() {
return{
message: 'hello world',
price: 1234.56,
date: '2022-01-01'
}
},
filters: {
capitalize: function(value) {
if (!value) return '';
value = value.toString();
return value.charAt(0).toUpperCase() + value.slice(1);
},
currency: function(value) {
if (!value) return '';
return '¥' + value.toFixed(2);
},
formatDate: function(value) {
if (!value) return '';
return new Date(value).toLocaleDateString();
}
}
}
</script>
<style scoped>
.djs-box {
width: 1000px;
height: 650px;
margin: 50px auto;
border: 1px solid teal;
}
.topBox {
margin: 0 auto 0px;
padding: 10px 0 20px;
background: teal;
color: #fff;
}
.dajianshi {
width: 98%;
height: 420px;
margin: 5px auto 0;
border:1px solid #369;
padding-top: 100px;
}
p{
font-size: 30px;}
</style>
Neste exemplo, 我们定义了三个过滤器:capitalize、currency 和 formatDate
. capitalize é usado para colocar a primeira letra do texto em maiúscula; moeda é usada para converter números para o formato RMB; formatDate é usado para formatar strings de data em formatos de data locais. Em seguida, no modelo, aplicamos esses filtros aos atributos de dados de mensagem, preço e data para implementar as funções de processamento de texto correspondentes.