《Vue 3 組件入門》中,我們知道,使用 defineProps() 可以定義屬性,只需將屬性名放在數組中即可:
簡單的屬性定義
如果我們想限制屬性的類型,應該如何做?
如果要定義(限定)屬性類型,可以在 defineProps 宏中使用對象語法。
定義屬性類型
使用該組件時,父組件必須按照給定類型傳入屬性:
父組件傳入屬性值
如果傳入的類型不對,Vue 會拋出警告。比如,如果給上面的 likes 屬性傳入字符串值 "42",在開發者工具將看到如下信息:
屬性類型不匹配時的警告信息
如果使用 TypeScript,可以利用泛型傳入屬性的類型定義。
在 TypeScript 中定義屬性類型
如果屬性名稱較長,定義屬性時推薦使用駝峰寫法(camelCase):
屬性名定義時使用駝峰寫法
在父組件模板使用的子組件,為了和 HTML 規范保持一致,屬性名推薦使用短橫線命名法(kebab-case)。
模板中屬性名使用短橫線寫法
如果希望將一個 object 的所有字段當作屬性傳遞,可以使用不帶參數的 v-bind 指令。
使用不帶參數的 v-bind 指令傳遞對象值
上面代碼和如下模板表示的含義完全相同:
使用獨立屬性傳遞參數
父子組件之間的屬性傳遞形成了一種單向數據流(One-Way Data Flow),數據自上而下有序傳導。
在這種模式下,屬性值是只讀的。因為屬性值來自父組件,如果任由子組件修改,可能會造成代碼邏輯難以理解。
單向數據流模式下屬性是只讀的
如果不小心修改了只讀屬性,Vue 會給出警告:
修改只讀屬性時的警告信息
在單向數據流的模式下,如果要修改屬性,一般的做法是子組件拋出事件,通知父組件修改。
除了上述的屬性類型,Vue 還提供了一些更豐富的屬性校驗方法。
屬性可以有多種類型:
屬性類型可以不止一種
所有屬性默認是非必填的,除非使用 required: true 指定為必填項。
必填項屬性
如果必填項為空,Vue 會給出警告:
當必填項屬性為空時的警告信息
可以使用 default 指定默認值。對于 Number、String 等原始類型,直接使用字面量常量即可:
指定基本類型的默認值
對于 Object, Array 類型的屬性,default 需要使用工廠方法(factory function),該方法的返回值將成為屬性的默認值。
指定對象類型的屬性默認值
可以使用 validator() 方法自定義校驗邏輯。該方法的入參有兩個,第一個是當前屬性的值,第二個是所有屬性組成的對象。
自定義屬性的校驗規則
當屬性未能通過校驗規則,Vue 會給出如下警告:
自定義屬性校驗失敗的警告信息
對于屬性類型 type 的取值,可以是如下的原生構造函數:
除此之外,也可以使用自定義類型或構造函數。此時,Vue 會使用 instanceof 運算符進行類型判定。
自定義類型的構造函數
使用自定義類型的屬性
傳入自定義類型的值當作屬性
如果使用了不匹配的類型,Vue 會報錯:
使用不匹配的數據
類型不匹配時的警告信息
完
果你需要確認設備是否滿足升級到Windows 11的要求,或者特定應用程序的要求。或者電腦變得緩慢,需要確定是否需要升級某個組件,或者是否需要更換新的電腦。
不論是哪種情況,Windows 11提供多種方法可以查看你的計算機信息(CPU、內存、主板、顯卡、型號和序列號、驅動程序、Windows更新和版本),包括使用"設置"、"系統信息"、PowerShell和命令提示符。
接下來,我們看看如何檢查你的電腦的完整硬件和軟件信息。
一、如何在Windows 11的"設置"中查找電腦硬件和軟件信息
如果你想了解基本的系統規格(如處理器、內存和Windows安裝詳細信息),可以按照以下步驟在"設置"中來檢查設備的基本硬件規格:
1. 打開"設置"。
2. 點擊"系統"。
3. 在右側點擊"關于"頁面。
4. 檢查"電腦硬件和軟件信息"部分,了解處理器、系統內存(RAM)、體系結構(32位或64位)以及筆和觸摸支持情況。
5. (可選)點擊"復制"按鈕以復制和分享詳細信息,并保存以備將來參考或清單。
6. 在"Windows規格"部分檢查軟件規格:
- Edition(版本):顯示Windows 11的專業版或家庭版安裝。
- Version(版本):顯示當前計算機上的Windows版本,每次特性更新后版本都會更改。
- Installed on(安裝日期):顯示上次特性更新安裝的日期。
- OS build(操作系統版本):顯示發布的構建號。前五個數字表示版本號,小數點后的數字表示最新的更新。
- Experience(體驗):顯示安裝在設備上的服務功能包版本。
7. (可選)點擊"復制"按鈕以復制和分享詳細信息,并保存以備將來參考或清單。
二、如何在Windows 11上使用系統信息查找電腦硬件和軟件信息
"系統信息"也可以為你提供Windows 11計算機的完整技術規格概覽,按照以下步驟查看:
1. 打開開始菜單。
2. 搜索msinfo32并打開"系統信息"應用程序。
3. 選擇"系統概要"。
4. 確認電腦硬件和軟件信息,包括系統型號和類型、處理器品牌和型號、UEFI固件版本和其他詳細信息、總內存容量、主板品牌和型號以及虛擬化功能支持。
5. (可選)展開"組件"分支。
6. 點擊"顯示"以查看顯卡信息。
創建硬件規格報告
你還可以按照以下步驟創建計算機硬件和軟件規格報告:
1. 打開開始菜單。
2. 搜索msinfo32并點擊頂部結果以打開"系統信息"應用程序。
3. 通過在左側導航窗格上選擇類別來選擇要導出的技術規格。
快速提示:選擇"系統概要"將導出所有內容。但是,如果你只需要導出顯卡詳細信息,請選擇"顯示"項目。
4. 點擊"文件"菜單。
5. 點擊"導出"選項。
6. 選擇要導出報告的文件夾。
7. 為報告確認一個描述性名稱,例如"辦公電腦規格"。
8. 點擊"保存"按鈕。
9. 完成上述步驟后,規格將導出為一個文本文件,你可以使用任何文本編輯器打開。
三、如何在Windows 11上使用PowerShell查找電腦硬件和軟件信息
你可以按照以下步驟使用PowerShell來確定Windows 11電腦的技術規格:
1. 打開開始菜單。
2. 搜索PowerShell,右鍵點擊頂部結果,并選擇"以管理員身份運行"選項。
3. 輸入以下命令來確定硬件規格,并按Enter鍵:Get-ComputerInfo
4. (可選)輸入以下命令來僅查看特定組件的詳細信息:Get-ComputerInfo -Property "屬性名稱"
在命令中,將"屬性名稱"更改為要查看的詳細信息。比如:Get-ComputerInfo -Property "bios*"
快速提示:命令中的星號*是通配符,用于匹配以"BIOS"關鍵字開頭的所有屬性。
5. 完成上述步驟后,PowerShell將顯示來自Windows 11的完整硬件信息列表,或者顯示你在命令中指定的特定屬性。
四、如何在Windows 11的命令提示符中查找電腦硬件和軟件信息
還可以按照以下步驟使用命令提示符來生成技術規格的查看,使用"系統信息"工具:
1. 打開開始菜單。
2. 搜索cmd,并選擇"以管理員身份運行"選項。
3. 輸入以下命令以查找計算機的技術規格,并按Enter鍵:systeminfo
快速提示:使用"systeminfo /?"命令列出工具的可用選項。
4. (可選)輸入以下命令以僅查看特定組件的詳細信息:systeminfo | findstr /C:"項目名稱"
在命令中,將"項目名稱"更改為要查看的詳細信息,如"系統信息"應用程序中的"項"列所示。以下示例顯示總物理內存的信息:systeminfo | findstr /C:"Total Physical Memory"
5. 完成上述步驟后,硬件和軟件規格將顯示在輸出中。
在命令提示符和PowerShell中,你可以使用這些說明將命令控制臺輸出導出到文本文件中。
輯導語:在產品經理做技術中臺時,有很多需要知道的專有名詞概念;比如:組件、套件、中間件、插件等等,本文作者對此進行了解釋和梳理,便于產品經理可以快速理解技術中臺產品的邏輯和思維,我們一起來看一下。
2015年底,阿里巴巴提出2018年中臺戰略,旨在集合整個集團的運營數據能力、產品技術能力,構建符合DT時代的更具創新性、靈活性的“大中臺、小前臺”組織機制和業務機制,更敏捷、更快速適應瞬悉萬變的市場。
2019年,騰訊、京東、字節跳動、美團等互聯網巨頭也爭先恐后地宣布中臺戰略實施情況,依據各司組織架和業務情況,紛紛布局數據中臺、業務中臺、技術中臺、搜索中臺……那么,在產品規劃和設計過程中,技術中臺產品經理萌新們(尤其是非技術出身產品經理)應該如何入手?需要儲備的領域知識有哪些?產品方法論上有哪些差異性?DDD研發模式下,與研發同學的協作方式又是怎樣的?等等。
現在我們討論專題一:技術中臺產品經理必知的那些易混詞兒之組件、套件、中間件、插件……
位于框架最底層,是由重復的代碼提取出來合并而成。
組件的本質是一件產品,獨立性很強;組件的核心是復用,與其它功能又有強依賴關系。
在中臺產品和非中臺產品中,都會把具有同一功能價值的,或具有同一業務屬性的,按不同粒度定義為一個模塊。
不同的是,在非中臺產品中,主應用與模塊、模塊與模塊間是強耦合關系,模塊不可以獨立運行;而在中臺產品中,主應用與模塊間的耦合變為主應用與接口、接口與模塊的耦合;這樣,降低了模塊間的耦合,模塊是可以獨立運行的。
技術中臺產品化的過程,也是確定套件組成的過程,如:套件中有哪些模塊?各模塊有哪些組件或功能?
是一種獨立的系統軟件或服務程序,分布式應用軟件借助這種軟件在不同的技術之間共享資源。
它位于客戶機/服務器的操作系統之上,管理計算機資源和網絡通訊,是連接兩個獨立應用程序或獨立系統的軟件。
這樣相連接的系統,即使具有不同的接口,但通過中間件相互之間仍能交換信息;典型的云化中間件包括分布式消息隊列、分布式緩存、分布式鎖、分布式ID等。
是一種遵循一定規范的應用程序接口編寫出來的程序。
很多軟件都有插件,例如:在IE中安裝相關的插件后,WEB瀏覽器能夠直接調用插件程序,用于處理特定類型的文件,如Flash插件、RealPlayer插件、ActiveX插件等。
組件、套件、中間件、插件的設計思想是復用,把通用的、不變的、主控制流程的邏輯框架封裝起來,把變化的部分通過各種方式暴露出去。
中間件,與操作系統、數據庫管理系統并稱基礎軟件的“三駕馬車”;與組件、模塊、套件和插件相比,其復用性的約束更多的體現上計算機資源管理和網絡通訊上。
在產品設計中,筆者一直遵循“自上而下,自下而上”的理念。“自上而下”,即,我要做什么,出發點包括boss理念、競品調研、市場趨勢等;“自下而上”,即,用戶希望我做什么,我稱之為“碎片化需求”。
不管是“自上而下”,還是“自下而上”,我們都強調場景驅動,即產品經理要找清用戶在什么樣的場景下對產品功能的痛點、訴求點。
這在支付寶、美團、知乎等應用型產品中重要,在阿里云、華為云等技術產品的研發設計中,一樣重要。
那么,一般情況下,組件、模塊、套件、插件、中間件,這些技術中臺中涉及到的“四件一塊”的應用場景是怎樣的呢?
筆者根據自身的經歷做了簡單的總結,如有疏漏之處,請批評指正。
場景1:用戶在使用某產品時,通過拖拉拽的形式,將組件與其它功能組合在一起,從而形成新的頁面或產品。
這種組件多是可見的、易懂和易使用的;如:AXURER中的矩形、圓形,易企秀中的轉盤、投票、留言等功能。
場景2:在阿里云、華為云等云產品中,從應用和功能的維度,將底層技術封裝成一個個組件,供第三方使用。
這種組件多抽象、專業性強;如:語音識別、機器翻譯、彈性負載均衡、彈性文件服務等。
這種組件,用戶一旦被授權,就可以上線調取提供組件相應底層技術的能力。
場景:模塊這一概念,多出現在產品經理口頭表達、解決方案中,在正式發布的產品上基本看不到這種概念。
比如,產品經理向人介紹產品架構時,會說產品有哪些模塊組成;再比如,產品經理制定解決方案時,在方案中會以表格、段落的形式,解釋產品包含哪些模塊。
場景:最早聽到這個概念是在 2018年9月,螞蟻金服在杭州云棲ATEC發布的分布式金融核心套件bPaaS,對外開放自身沉淀的“產品合約”、“資產交換”、“資產核心”、“會計核算”、“計價”等金融核心組件。
套件,與模塊非常相似,只不過多用于技術領域的專業場合,有把多個產品打包之意。
場景:與組件不同的是,插件是以嵌入式軟件的形式,通過自動觸發,驅動用戶主動使用的。
也就是說,它是觸達到大眾用戶的眼球的;比如一些桌面插件、PPT插件、瀏覽器插件、PS插件等。
場景:它處于基礎設施層的軟件與業務系統軟件中間這一層的一些軟件或者庫、框架,不一定是獨立的程序,如緩存中間件、數據庫中間件、消息中間件、服務化中間件、交易中間件、調度中間件、集成中間件等等;是為了解決某一類復雜、通用的技術問題的,像高可用、分片、多副本、故障轉移、失敗恢復等,把一些重要的穩定性風險轉移到中間件上,從而提升整個系統的穩定性。
本文總結了在做技術中臺產品中必知、常提起、常看到的組件、套件、插件以及中間件等幾個概念,梳理了它們的差異、應用場景;便于今后非技術出身的產品經理快速理解技術中臺產品的邏輯與思維,降低溝通成本、理解成本,從而設計出滿足用戶需求的技術型產品。
本文由 @Alian 原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自Unsplash,基于CC0協議