日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Web组件 – 构建商业化应用的基石

發布時間:2024/4/14 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Web组件 – 构建商业化应用的基石 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

Web Components(Web 組件)規范是一個新興的技術集合,允許您在前端Web應用程序中定義已封裝的自定義HTML元素。 使用Web Components,您可以創建自己聲明的API來定義UI,從而創建您自己的商業化應用程序。

本文介紹了Web組件技術及其在新一代純前端控件集 WijmoJS?中的應用。

Web組件核心技術

Web組件的核心技術由以下四個標準組成:

自定義元素Shadow DOMHTML模板HTML導入

自定義元素

自定義元素允許您創建自己的HTML元素,可以像標記HTML代碼一樣使用標記。

使用自定義元素,您可以:

以聲明方式向標記添加元素。使用自定義屬性定義其初始值,并使這些值自動傳播到相應的屬性值。使用標準Element.addEventListener方法訂閱自定義事件。

純前端控件集 WijmoJS 作為自定義元素

通過WijmoJS build 462,我們引入了 Web Components互操作用法,允許您將?WijmoJS 控件用作自定義元素。例如,您可以使用以下HTML添加包含列和過濾器的輕量前端表格控件FlexGrid:

<wjc-flex-grid id="grid">

<wjc-flex-grid-filter></wjc-flex-grid-filter>

<wjc-flex-grid-column binding="country" header="Country" width="*"/>

<wjc-flex-grid-column binding="date" header="Date"/>

<wjc-flex-grid-column binding="downloads" header="Downloads"/>

</wjc-flex-grid>

有了這個標記,你可以一方面使用傳統的DOM API在Java代碼中操作它,另一方面可以在HTML元素上使用訪問控制特定的API。

例如:

選擇FlexGrid元素:let grid = docement.getElementById('grid');調用表格方法:grid.autoSizeColumns();訂閱表格事件:grid.addEventListener('updatedView',(e)=> {doSomething();});

這是一個Web Components Intro示例,可用于獲取有關WijmoJS Web Components互操作用法的更多詳細信息。

若使瀏覽器在本機離線工作,Web組件就要實現 ES2015(ES6)代碼。為了實現這一點,WijmoJS 在build 462中添加了兩個npm圖像,wijmo-es2015-commonjs-min和wijmo-es2015-esm-min,它們分別包含CommonJS和ESM模塊格式的WijmoJS ES6代碼。

Web組件的商業化應用

無論是使用純Java還是使用框架實現應用程序,都可以從Web組件的使用中受益。

純Java中的Web組件

使用純Java中的Web組件,您將獲得一個聲明,自定義可維護的HTML標記,而不用添加一堆這樣的神秘元素定義:

<div id=”statGrid”/>

<div id=” inpSales”/>

使用WijmoJS?控件的 Web組件后,您還可以聲明下面的標記:

<wjc-flex-grid>

<wjc-flex-grid-column binding=”date” header=”Date”/>

<wjc-flex-grid-column binding=”sales” header=”Sales”>

</wjc-flex-grid>

<wjc-input-number step=”1” format=”c2”/>

這段代碼可用于無法以聲明方式表示的特殊處理上。也就是說,您可以在正確的位置定義內容 - 標記中的UI及其在Java代碼中的行為。

此標記目前在Chrome和Safari中原生使用,并且可以在使用Polyfills技術的其他瀏覽器中使用。

前端框架中的Web組件

用在?Angular,React?和?Vue?等前端框架中,Web Components會帶來更多擴展,如屬性、方法和綁定事件。Web Components 提供了為框架顯式而創建的本地組件幾乎相同的易用×××。允許您在不同的框架中重用由它們創建的相同組件和行為庫,而不會犧牲其易用性。

我們在Angular示例中添加了WijmoJS?的 Web組件,演示了它在Angular中的工作原理。

例如,以下HTML標記創建了 WijmoJS 的 InputNumber和LinearGauge控件,這些控件可用來顯示和更新相同的模型屬性。

注意:在實現這種雙向綁定行為時,我們沒有使用任何Java代碼隱藏行和第三方庫:

<wjc-input-number [value]="theValue" (value-changed)="theValue = $event.target.value"/> <wjc-linear-gauge [value]="theValue" (value-changed)="theValue = $event.target.value"/>

使用Web組件是否要考慮瀏覽器兼容性?

Web Components適用于所有瀏覽器。目前,您可以在Chrome和Safari中本地運行Web Components,而不應用任何Polyfill。

FireFox支持特定開發者模式下的Web組件。當然,這種支持很快會應用到實際使用版本中。現在,您也可以使用webcomponentsjs庫中的webcomponents-lite.js polyfill在此瀏覽器中運行Web Components。

當然,Edge和 IE 中也可以使用。您可以通過運行ES5代碼并應用webcomponentsjs庫中的custom-elements-es5-adapter.js polyfill以及為FireFox指定的polyfill來在Internet Explorer中運行Web組件。

WijmoJS互操作用法和Web組件的未來?

我們已經在WijmoJS Web Components互操作用法方面解決了幾個問題。首先是添加更多的示例,特別是在React,Vue和Polymer等不同框架中添加如何演示Web組件的使用示例。如果您需要在其他框架也添加上述示例,可以聯系您的技術顧問。

總結

高度用戶自定制一直是純前端控件集WijmoJS的產品特色之一。因此,我們同樣為WijmoJS控件添加了對Shadow DOM的支持和原生CSS樣式支持的兩種模式,Shadow DOM 允許控件可以通過CSS變量(a.k.a.自定義屬性)進行自定義,當然這只是一種可選功能(可由全局屬性切換),此技術的當前狀態在控件定制中施加了嚴重限制。如果開發人員喜歡更靈活的自定制方式,也可以使用沒有Shadow DOM的傳統 WijmoJS Web組件。

關于葡萄城:

賦能開發者!葡萄城公司成立于 1980 年,是全球領先的集開發工具、商業智能解決方案、管理系統設計工具于一身的軟件和服務提供商。西安葡萄城是其在中國的分支機構,面向全球市場提供軟件研發服務,并為中國企業的信息化提供國際先進的開發工具、軟件和研發咨詢服務。葡萄城的控件和軟件產品在國內外屢獲殊榮,在全球被數十萬家企業、學校和政府機構廣泛應用。


轉載于:https://blog.51cto.com/9413233/2155544

總結

以上是生活随笔為你收集整理的Web组件 – 构建商业化应用的基石的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。