071: vue에서 필터를 사용하는 방법(그림 및 텍스트 예제)

여기에 이미지 설명을 삽입하세요.

071호

열 디렉터리 보기: VUE ------ 요소 UI


칼럼 목표

Vue와 Element UI의 공동 기술 스택을 제어하여 유연한 사용을 위한 효과적인 소스 코드 예제와 정보 포인트 소개를 제공합니다.

vue2의 몇 가지 기본 작업 제공: 설치, 참조, 템플릿 사용, 계산, 감시, 수명 주기(beforeCreate, 생성, beforeMount, 마운트, beforeUpdate, 업데이트, beforeDestroy, 파괴, 활성화, 비활성화, errorCaptured, 구성 요소), $root, $parent , $children , $slots , $refs , props, $emit , eventbus , 제공/주입, 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, 슬롯 범위, 필터, v-bind, .stop, . 네이티브, 지시어, 믹스인, 렌더링, 국제화, Vue Router 등

필터 소개

Vue.js의 필터는 템플릿에서 직접 사용할 수 있는 텍스트 처리를 위한 사용자 정의 함수입니다. 필터는 두 곳에서 사용될 수 있습니다: 双花括号插值和 v-bind 表达式. 过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符号(|)表示.

사용 단계는 다음과 같습니다.

  1. 필터 정의: Vue 인스턴스 또는 구성 요소의 필터 속성에서 매개변수(필터링해야 하는 텍스트)를 수신하고 필터링된 텍스트를 반환하는 함수를 정의합니다.

  2. 템플릿에서 필터 사용: 필터를 사용해야 하는 경우 표현식 뒤에 필터 이름을 파이프 문자(|)로 구분하여 추가합니다.

예제 렌더링

여기에 이미지 설명을 삽입하세요.

샘플 소스 코드

/*
* @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>



이 예에서는 我们定义了三个过滤器:capitalize、currency 和 formatDate. capitalize는 텍스트의 첫 글자를 대문자로 바꾸는 데 사용되고,currency는 숫자를 RMB 형식으로 변환하는 데 사용되고, formatDate는 날짜 문자열을 현지 날짜 형식으로 지정하는 데 사용됩니다. 그런 다음 템플릿에서 이러한 필터를 메시지, 가격 및 날짜 데이터 속성에 적용하여 해당 텍스트 처리 기능을 구현했습니다.

추천

출처blog.csdn.net/cuclife/article/details/136054291