?歡迎回來!沒聽懂第 1 部分嗎?不用擔心,您可以從頭開始,也可以直接投入其中!
介紹:PictureFrame 元件
本教學中我們的任務是建立一個相框元件,用於在 Web 應用程式上設定照片樣式。上次我們以一個有點像下面的片段結束。然而,在本教程中,我們更改了“模板”,以顯示河馬的粉紅色/鮭魚色“相框”,其下方有標題。要開始本教程,請將以下內容複製並貼上到新文件中,然後在瀏覽器中開啟:
<template modulo> <component name="PictureFrame"> <template> <div style="display: inline-block; border: 10px inset salmon; padding: 10px; margin: 10px; width: 100px; background: pink;"> <img src="/static/imghwm/default1.png" data-src="https://upload.wikimedia.org/wikipedia/commons/thumb/3/33/Hippo_walking.jpg/320px-Hippo_walking.jpg" class="lazy" style="max-width:90%" alt="了解如何使用 props 製作樣式化的相框 Web 元件(學習 Modulo.js - 第 f 部分" > <p>Photograph: <em>The Return of the Hippo</em></p> </div> </template> </component> </template> <script src="https://unpkg.com/mdu.js"></script> <x-pictureframe></x-pictureframe>
介紹第 2 部分
在本教程中,我們將向純HTML 組件添加Style,並討論Modulo 框架中的第一個核心概念:組件部分,然後最後看看一個更重要的組件部分: 道具.
首先,您可能會注意到上面的程式碼有些混亂。所有的樣式都被塞進一個 style= 屬性中!在編寫 CSS 程式碼時,將所有樣式放入內聯 style= 屬性中通常很難維護。 Modulo 支援「Style」元件部分,讓我們更自然地編寫 CSS 程式碼。什麼是組件?好吧,我們也會談到這一點。首先,讓我們時尚!
第 1 步:建立樣式元件
<template> <div class="salmon-frame"> <img src="/static/imghwm/default1.png" data-src="https://upload.wikimedia.org/wikipedia/commons/thumb/3/33/Hippo_walking.jpg/320px-Hippo_walking.jpg" class="lazy" alt="了解如何使用 props 製作樣式化的相框 Web 元件(學習 Modulo.js - 第 f 部分" > <p>Photograph: <em>The Return of the Hippo</em></p> </div> </template> <style> img { width: 50px; } .salmon-frame { display: inline-block; border: 10px inset salmon; padding: 10px; margin: 10px; width: 100px; background: pink; } </style>
好多了!這看起來和行為很像 HTML 中的「Style」標籤,可讓您根據自己的喜好建立類別和選擇器。
第 2 步:設定主機組件本身的樣式
通常,您需要設定 Web 元件本身的樣式(在本例中為
<style> :host { text-align: center; } /* ... etc ... */ </style>
零件介紹
Modulo 的核心概念是組件部分。所有組件定義都由一定數量的組件部分組成。因此,組件定義實際上只是組件部分定義的集合。在組件的“底層”,每個組件部件都將發揮不同的作用來為組件的功能做出貢獻。
我們已經學會了兩個最基本的組件:
模板 - - 模板是您放置您希望組件包含的任意 HTML 程式碼的位置。現在,我們只包含一些不變的 HTML。在下一個教程中,我們將學習如何使用「模板語言」來控制在什麼情況下產生什麼 HTML。
風格 - - 就像一樣HTML 中的標籤。然而,它有一一重要的區別:包含的樣式將僅限於您的組件。這是因為此處編寫的 CSS 將自動添加前綴,以便它僅適用於您的組件以及模板組件部分生成的任何 HTML。這非常有用:它允許我們為每個組件編寫獨立的 CSS,甚至無需考慮它。保持 CSS 獨立意味著更少的意外互動。
請記住,樣式和模板都有很多可配置選項,但對於我們的使用來說,預設值就足夠了。
道具介紹
現在,我們來介紹第三個重要的組件:Props
在上一節中,我們主要專注於定義元件。回想一下,元件定義一次,但可以使用多次。 Props 的目的是在第二步驟中提供更大的靈活性:Props Component Part 定義了每次重複使用元件時可以自訂元件的屬性。
給我們支持!
目前,我們的相框無法重複用於不同的照片或標題。我們不能永遠被河馬追趕! ???
我們希望最終能夠做這樣的事情:
<x-pictureframe image="https://upload.wikimedia.org/wikipedia/commons/thumb/3/33/Hippo_walking.jpg/320px-Hippo_walking.jpg" caption="Hippopotamus out of water" photographer="Lee R. Berger"></x-pictureframe>
然後,它感覺就像一個「真正的」HTML 標籤——也就是說,可以透過屬性進行配置。 讓我們“剝開層層”,看看如何使用 Props.
來實現這一點第三步:新增道具
為了讓元件在重複使用時能夠「接收」props,我們必須定義 Props。 Props 定義與先前的定義類似,只不過它們沒有內容,只是一個帶有屬性的開始標記,後面跟著一個結束標記。請參考以下內容:
<props image caption photographer></props>
注意:一個常見的錯誤是忘記包含 Props。您希望元件接收的每個屬性都必須列在 Props 中才能用於下一步。
Step 4: Using Props in Template
Now, we'll get our first sneak peak at the true power of Templates: Adding in data and values into your HTML. You can use the following syntax to get your "props" and inject them into the generated HTML:
<div class="salmon-frame"> <img src="/static/imghwm/default1.png" data-src="https://unpkg.com/mdu.js" class="lazy" alt="了解如何使用 props 製作樣式化的相框 Web 元件(學習 Modulo.js - 第 f 部分" > <p>Photograph: <em>{{ props.caption }}</em></p> <p>Photographer: <em>{{ props.photographer }}</em></p> </div>
Note the {{ and }}: This the templating syntax that indicates where the "props" values get inserted.
- Complete Example
Combining it all, we get the following results. Note how our custom Web Component can be re-used with different attributes:
<props image caption photographer></props> <script></script>![]()
Photograph: {{ props.caption }}
Photographer: {{ props.photographer }}
Learn Modulo.js: Part 2
Style and Props
<x-pictureframe image="https://upload.wikimedia.org/wikipedia/commons/thumb/3/33/Hippo_walking.jpg/320px-Hippo_walking.jpg" caption="Hippopotamus out of water" photographer="Lee R. Berger"></x-pictureframe>
Conclusion
That's all for Part 2! Be sure to follow to catch the rest, and, as always, feel free to ask questions or suggestions in the comments.
以上是了解如何使用 props 製作樣式化的相框 Web 元件(學習 Modulo.js - 第 f 部分的詳細內容。更多資訊請關注PHP中文網其他相關文章!

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

Atom編輯器mac版下載
最受歡迎的的開源編輯器

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)