管道在Vue和Angular中的作用及React的替代方案

管道在Vue和Angular中的作用及React的替代方案

  • 前言
  • 管道起源
    • 管道特點
  • 前端中管道概念和作用
    • 概念
    • 作用
  • React關于管道的替代方案
  • Vue和Angular管道的區別

前言

本文主要講解管道在Vue和Angular中有哪些作用以及React對于管道概念的替代方案是什么。

管道起源

計算機中的Pipline(管道)常被認為起源于Unix,最初Mcllroy發現很多時候人們會將shell命令的輸出傳遞給另一個shell命令,類似于管道。所以就提出了管道的概念。并在1973年實現了這個管道概念,使用|作為pipe的語法符號。此后,很多操作系統也引入了pipe概念,而Angular和Vue框架都引入了這個概念。

管道特點

  • 各個管道高內聚,專注解決某個問題。
  • 多個管道可以組合起來用于解決某個特定的問題

前端中管道概念和作用

概念

VueAngular當中,pipe(管道)更像是一種設計模式,一種思想,它也能體現出函數式編程:利用多個函數組合到一起用于解決某個特定的問題。強調組合大于繼承。同時又分為內置管道和自定義管道,內置管道加粗樣式就是框架中自己封裝好的管道,拿來就可以用的管道。還可以通過自定義的方式自己封裝一個管道進行使用。
angular內置管道

DatePipe:根據本地環境中的規則格式化日期。UpperCasePipe:字符串全部轉換大寫。
LowerCasePipe :字符串全部轉換成小寫。
CurrencyPipe :把數字轉換成貨幣字符串,根據本地環境中的規則進行格式化。DecimalPipe:把數字轉換成帶小數點的字符串,根據本地環境中的規則進行格式化。
PercentPipe :把數字轉換成百分比字符串,根據本地環境中的規則進行格式化。

Vue內置管道

capitalize:將字符串的第一個字符轉換為大寫
uppercase:字符串全部轉換大寫。
lowercase:字符串全部轉換成小寫。
currency:把數字轉換成貨幣字符串,根據本地環境中的規則進行格式化。
date:將日期格式化為特定格式

作用

利用一個或者多個管道解決某個問題,比如我們想要一個數據是大寫的文本,就可以通過{{ data | UpperCasePipe}}進行格式化,這樣獲取到的數據就都是大寫的了,那同時我們想要定義首字母大寫的文本可以通過,創建一個自定義管道FirstUpper,來進行轉換,同時這些管道之間也是可以進行組合使用。可以**{{ data | uppercase | lowercase}}**同時使用,那么這時就進行了兩個操作,第一是大寫,第二是小寫,最終獲得的就是小寫的字符串文本。

React關于管道的替代方案

React本身并沒有引入管道的概念,我們知道Angular和Vue是雙向數據綁定,它們的符號是{{}},而在react中,所有{}其中的計算的所有內容都是JavaScript,可以通過在{}中調用某個方法來進行操作,如大寫toUpperCase(),就可以寫{ data.toUpperCase() }所以沒有也不需要管道的概念。管道的內容可以直接通過React創建方法并在括號的數據中調用來實現。

Vue和Angular管道的區別

Vue的管道過濾器和Angular用法相同,不同的是Vue中使用filters:{}內部進行管道符的定義。而Angular創建管道過程:

ng g pipe 文件夾名/文件名

Vue創建管道過程::在Vue實例中創建,filters,在filters中創建管道過濾器即可。fitlers中Vue的管道是局部管道,如果不暴露,則無法被其他組件使用,同時Vue引入了全局管道的概念。Angular管道都是暴露的,可以被全局使用。
Vue全局管道定義方式:

Vue.filter("過濾器名稱", 處理函數 );

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/167246.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/167246.shtml
英文地址,請注明出處:http://en.pswp.cn/news/167246.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PHP5.3 + Apache2.2 + Xdebug2.1.2環境并集成至PHPStrom全流程(解決使用最好的語言前的痛點問題)

文章目錄 問題背景安裝流程PHP安裝配置PHPApache安裝及配置PHPStrom集成PHP環境進行PHP開發 問題背景 由于公司陳舊項目的重新啟動,現需要對該項目開發微信登錄模塊,本人是寫 Java 的,但本著程序員終身學習、不懼新事物的特點,現…

NX二次開發UF_CSYS_set_wcs_display 函數介紹

文章作者:里海 來源網站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CSYS_set_wcs_display Defined in: uf_csys.h int UF_CSYS_set_wcs_display(int display_status ) overview 概述 Set display of work coordinate system. 展示工作坐標系。 …

Android 11.0 默認開啟USB調試功能

Android 11.0 默認開啟USB調試功能 近來收到項目反饋需求想要默認開啟USB調試功能,默認開啟USB調試功能主要是在UsbDebuggingActivity.java文件中實現,具體修改參照如下: /vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/and…

狀態模式 (State Pattern)

定義 狀態模式(State Pattern)是一種行為型設計模式,它允許一個對象在其內部狀態改變時改變它的行為。這種模式將每個狀態的行為封裝到對應的狀態類中,使得上下文(Context)的行為隨著其內部狀態的改變而改…

公眾號違禁詞及違規行為匯總

1、微信官方發布《微信公眾平臺關于清理集贊行為的公告》,全面禁止公眾賬號“集贊”玩法。 微信對違反微信用戶協議和公眾平臺協議的公眾號處理機制是,公眾號累計發現一次有集贊行為,封號7天;公眾號累計發現二次有集贊行為&#…

面試:ShardingSphere問題

文章目錄 什么是ShardingSphere,它的主要功能是什么?ShardingSphere的核心模塊有哪些?他們是如何工作的?ShardingSphere 的讀寫分離是如何實現的?如何配置ShardingSphere的數據分片策略?ShardingSphere支持…

【運維面試100問】(六)buffer和cache的區別

本站以分享各種運維經驗和運維所需要的技能為主 《python零基礎入門》:python零基礎入門學習 《python運維腳本》: python運維腳本實踐 《shell》:shell學習 《terraform》持續更新中:terraform_Aws學習零基礎入門到最佳實戰 《k8…

【Linux】匿名管道+進程池

文章目錄 前置知識一、管道的原理二、管道的特性三、管道的接口四、使用管道實現簡單的進程池解決進程池的一個小問題 前置知識 一個進程在創建時,會默認打開三個文件,分別是:stdin,stdout,stderr 進程中有一個維護進…

1linux

Is查看目錄內容 ls -ahil a表示全部,h表示文件大小以人類易讀的形式給出,i表示索引節點,l表示長列表形式。 cd 切換目錄 touch 創建文件 mkdir 創建目錄 mkdir Makedirectory,創建目錄,-p指定路徑,-m指定權…

炫我出席數字光影工作室專業建設論壇,受聘為專家委員會委員!

11月18日,炫我科技受邀參加在北京深瀾AI空間舉辦的2023數字光影工作室專業建設論壇。本次活動由北京市新媒體技師學院主辦、北京瀾景科技有限公司協辦,私有云售前技術工程師龔琛代表我司出席,并受聘為新媒體技師學院數字光影工作室專家委員會…

Mysql基礎操作(命令行)

文章目錄 Mysql基礎操作(命令行)背景創建數據庫選擇數據庫查看所有表查看表結構向表插入數據插入第一條插入第二條插入第三條 查詢表數據修改表數據刪除表數據 Mysql基礎操作(命令行) 背景 docker安裝mysql8,映射本地…

ubuntu下,PX4使用 upload 下載代碼沒反應

可能原因,沒有串口權限 sudo chmod 777 /dev/ttyACM0開啟串口權限,本次問題解決。

GTC2023全球流量大會蓄勢待發,菊風在7B57展位等你!

第六屆 GTC 全球流量大會(以下簡稱 GTC2023)將于12月5日- 6日,在深圳福田會展中心7&8號館舉辦。 據悉,本屆大會將是歷屆以來規模最大、參與人數最多、跨境出海資源最豐富的一次行業盛會。7、8 號館共 15000 平方米&am…

計算機組成原理-磁盤存儲器

文章目錄 總覽外存儲器磁盤存儲器磁盤的性能指標磁盤地址磁盤的工作過程磁盤陣列 總結 總覽 外存儲器 磁盤存儲器 寫是利用電流產生磁場從而寫磁盤 讀是利用載磁體移動時產生的電場從而得到數據 磁性材質易受外界磁場干擾 下圖中 載磁體上N S的前后順序代表對應存儲二進制的比…

【深度學習】卷積神經網絡(CNN)的參數優化方法

著名: 本文是從 Michael Nielsen的電子書Neural Network and Deep Learning的深度學習那一章的卷積神經網絡的參數優化方法的一些總結和摘錄,并不是我自己的結論和做實驗所得到的結果。我想Michael的實驗結果更有說服力一些。本書在github上有中文翻譯的…

【不同請求方式在springboot中對應的注解】

GET 請求方法&#xff1a;用于獲取資源。使用 GetMapping 注解來處理 GET 請求。 示例代碼&#xff1a; RestController public class MyController {GetMapping("/resource")public ResponseEntity<String> getResource() {// 處理 GET 請求邏輯} }POST 請求方…

喜訊!云起無垠成為國家信息安全漏洞庫(CNNVD)技術支撐單位

近日&#xff0c;云起無垠憑借其在漏洞挖掘、漏洞檢測以及漏洞修復等領域的卓越表現&#xff0c;榮獲“國家信息安全漏洞庫&#xff08;CNNVD&#xff09;技術支撐單位等級證書&#xff08;三級&#xff09;”&#xff0c;正式成為CNNVD技術支撐單位。 中國國家信息安全漏洞庫&…

MTK聯發科MT6762/MT6763/MT6765安卓核心板參數規格比較

MT6762安卓核心板 MTK6762安卓核心板是一款工業級高性能、可運行 android9.0 操作系統的 4G智能模塊。 CPU&#xff1a;4xCortex-A53 up to 2.0Ghz/4xCortex-A53 up to 1.5GhzGraphics&#xff1a;IMG GE8320 Up to 650MhzProcess&#xff1a;12nmMemory&#xff1a;1xLP3 9…

【正點原子STM32連載】 第六十章 串口IAP實驗(Julia分形)實驗 摘自【正點原子】APM32F407最小系統板使用指南

1&#xff09;實驗平臺&#xff1a;正點原子APM32F407最小系統板 2&#xff09;平臺購買地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套實驗源碼手冊視頻下載地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html## 第六十…