atitit.atiHtmlUi web組件化方案與規範v1

来源:http://www.cnblogs.com/attilax/archive/2016/04/07/5365494.html
-Advertisement-
Play Games

atitit.atiHtmlUi web組件化方案與規範v1 1. 如何在現有html 標簽基礎上定義自己的組件1 2. 組件的構成與定義1 3. 組件的載入1 4. 組件css的載入2 5. 操作組件getVal,SetVal2 6. 組件化的本質目的並不一定是要為了可復用,而是提升可維護性。 不 ...


atitit.atiHtmlUi web組件化方案與規範v1

 

 

1. 如何在現有html 標簽基礎上定義自己的組件1

2. 組件的構成與定義1

3. 組件的載入1

4. 組件css的載入2

5. 操作組件getVal,SetVal2

6. 組件化的本質目的並不一定是要為了可復用,而是提升可維護性。 不具有復用性的組件3

 

 

 

未來的WEB開發,將會效仿今天桌面軟體的開發路子,那就是“組件化”。

目前組件化最好的就是React  angular了。。

React  的最大問題是以js為核心,嵌入html

anrular最大問題是啰嗦,繁瑣。

 

1. 如何在現有html 標簽基礎上定義自己的組件

推薦像bootstrap哪些使用oocss的方式,在class屬性上增加一個特殊的classname來表明組件的類型....

也可以使用擴展屬性

 

 

2. 組件的構成與定義

Html css構成組件的外觀,js添加act..

 

作者::  ★(attilax)>>>   綽號:老哇的爪子  全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿爾 拉帕努伊  漢字名:艾龍,  EMAIL:[email protected]

轉載請註明來源: http://www.cnblogs.com/attilax/

 

 

3. 組件的載入

使用html文件作為組件,小型組件可以使用ajax讀取載入,這樣組件可以方便dw的設計。。大型組件可以使用ajax載入,也可以iframe方式載入。。

 

4. 組件css的載入

 

5. 操作組件getVal,SetVal

需要當html dom當主要的...

comboxUtil(#id).getVal();   相同當特別的的jq,,專門化的jq

 

 

這導致了界面可視化設計極差。。應該以html dom為基礎,在html的基礎上內嵌js。。Js本身就是代碼,可視化要求相對較低。。Dom 標簽使用常用的class 增加一個特點的oocss class來表明一個組件的類型,以及複合組件,或者可增加一個擴展屬性。。

2.3.組件的屬性以js為主
這帶來查看屬性值的調試的問題,如果可以在html標簽上擴展屬性,就方便調試,畢竟瀏覽器查看工具可以一目瞭然的查看屬性的值

 

 

 

Web Components提供了一種組件化的推薦方式,具體來說,就是:

· 通過shadow DOM封裝組件的內部結構

· 通過Custom Element對外提供組件的標簽

· 通過Template Element定義組件的HTML模板

· 通過HTML imports控制組件的依賴載入

這幾種東西,會對現有的各種前端框架/庫產生很巨大的影響:

· 由於shadow DOM的出現,組件的內部實現隱藏性更好了,每個組件更加獨立,但是這使得CSS變得很破碎,LESSSASS這樣的樣式框架面臨重大挑戰。

· 因為組件的隔離,每個組件內部的DOM複雜度降低了,所以選擇器大多數情況下可以限制在組件內部了,常規選擇器的複雜度降低,這會導致人們對jQuery的依賴下降。

· 又因為組件的隔離性加強,致力於建立前端組件化開發方式的各種框架/庫(除Polymer外),在自己的組件實現方式與標準Web Components的結合,組件之間數據模型的同步等問題上,都遇到了不同尋常的挑戰。

· HTML imports和新的組件封裝方式的使用,會導致之前常用的以JavaScript為主體的各類組件定義方式處境尷尬,它們的依賴、載入,都面臨了新的挑戰,而由於全局作用域的弱化,請求的合併變得困難得多。

 

 

6. 組件化的本質目的並不一定是要為了可復用,而是提升可維護性。 不具有復用性的組件

 

 

7.  參考

 

組件化的Web王國 - 博客 - 伯樂線上.htm

 

JavaScript動態載入CSSJS文件 - 小炒花生米 - 博客園.html

 

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、萊布尼茲發明二進位 1679年3月25日,萊布尼茲寫了題為“二進位算術的解釋”的論文。在文中,萊布尼茲給出了二進位的計數方法,系統地討論了二進位和十進位相互轉化的法則 ;並給出了二進位的加法與乘除法法則。但萊布尼茲要求不要馬上發表他的論文。在論文中他把二進位學術地位定位成“發明”。 1701年1 ...
  • 前幾天做了一個文件替換功能用到些python os的功能,感覺python os模塊的功能非常的強大,如果你希望你的python程式能夠與平臺無關的話,這個模塊是尤為重要的。即它允許一個程式在編寫後不需要任何改動,也不會發生任何問題,就可以在Linux和 Windows下運行,看到這裡覺得pytho ...
  • 平時用$_post[''],$_get['']獲取表單中參數時會出現Notice: Undefined index: ; 雖然可以通過設置錯誤顯示方式來隱藏這個提示,但是這樣也有隱患,就是在伺服器的日誌中會記錄這些提示,導致日誌文件異常龐大。 通過在網上搜索和自己自身的實戰總結幾種解決方法; 方法1 ...
  • 上回寫了[使用Redis實現關註關係][1],這次說說使用Redis實現Timeline。 Timeline的實現一般有推模式、拉模式、推拉結合這幾種。 推模式:某人發佈內容之後推送給所有粉絲,空間換時間,瓶頸在寫入; 拉模式:粉絲從自己的關註列表中讀取內容,時間換空間,瓶頸在讀取; 推拉結合:某人 ...
  • 項目中經常會遇到單例的情況。大部分的單例代碼都差不多像這樣定義: internal class SingletonOne { private static SingletonOne _singleton; private SingletonOne() { } public static Single... ...
  • 在前段時間呢陸陸續續的更新了一系列關於重構的文章。在重構我們既有的代碼時,往往會用到設計模式。在之前重構系列的博客中,我們在重構時用到了“工廠模式”、“策略模式”、“狀態模式”等。當然在重構時,有的地方沒有點明使用的是那種設計模式。從今天開始,我們就圍繞著設計模式這個主題來討論一下我們常用的設計模式 ...
  • 一、應用背景 隨著計算技術的進步,記憶體、CPU、磁碟等資源不再是稀缺的,電腦作為應用程式的載體從單伺服器轉變為多伺服器,集中計算演化為分散式計算。原有的“巨石”應用難以適應業務的發展速度,可擴展、自適應的能力不足,程式員面對著數以萬計的源代碼文件抓耳撓腮(O M G!),越來越多的工程師渴望小而美 ...
  • 在面向對象的概念中,抽象類和介面都是一種特殊的類,它們具有一些共性,也有一些區別。 二者的相同點: 都屬於引用類型的數據,是一種特殊的類; 都不能實例化; 都可以包含未實現的方法聲明和屬性聲明; 兩者的派生類都必須實現它們的聲明,派生類實現抽象類的抽象屬性和抽象方法,而介面則要實現它的所有成員 二者 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...