98国产在线视频福利_欧亚v视频日韩一区二区_国产在线精彩视频_亚洲伊人久久综合影院_亚洲欧美高清激情精品一区_少妇熟女天堂网av_午夜福利日本专区_中美女子成人毛片_大荫蒂毛茸茸视频国产_小14萝裸体自慰洗澡大尺度
登錄
注冊
關(guān)于我們
簡(jiǎn)體中文
ENGLISH
搜索
購物車(chē)
0 ITEMS ON YOUR CART
去購物車(chē)結算
合計:
¥0
首頁(yè)
動(dòng)態(tài)
方案
案例
專(zhuān)欄
期刊
聯(lián)系我們
首頁(yè)
期刊
[Ext JS6]多類(lèi)型設備開(kāi)發(fā)
Ext JS開(kāi)發(fā)大全
第1章 Ext JS快速入門(mén)示例[4/4]
第12章[12.10]富文本編輯器 CKEditor與Ext JS的整合
第12章[12.10.1] Ext JS + CKEditor+Spring Boot 實(shí)現編輯器圖片上傳
第11章[11.6] Ext JS 自行搭建遠端庫的包升級版本后找不到的問(wèn)題解決
[Ext JS 4] 實(shí)戰之Grid, Tree Gird編輯
ext命令集
第12章[12.3] Ext JSGrid中的超鏈接列及其功能實(shí)現
[Ext JS]textfield添加compositionstart、compositionupdate 和compositionend _os
[Ext JS ] 動(dòng)添切換字段的必填與非必填
3.1 Ext JS 組件總覽
[Ext JS] Grid表格批量編輯的實(shí)現
Ext JS 快速開(kāi)發(fā)工具
帶觸發(fā)器按鈕的輸入框
Ext JS的布爾對象類(lèi)型處理及便捷方法
Ext JS的Object類(lèi)型處理及便捷方法
ExtJS RadioGroup(單選按鈕組) 使用及注意事項
Ext JS 模擬后端數據實(shí)現
ToolTip 實(shí)現全介紹
Ext JS下拉單選框(Combobox,TagFied)使用及疑難問(wèn)題解決
Ext JS應用測試概覽
Sencha Studio 監視工具( Inspect Tool)
Ext JS 4 升級指南
Ext JS 如何定義公用方法(單例類(lèi) or 靜態(tài)方法)
Ext JS的模塊化開(kāi)發(fā)(Package)
Ext3 -- Form 實(shí)例。 用來(lái)migrate file 數據到DB用的
ExtJS 3 在Tab下加入Form 實(shí)例
Extjs Grid 中給已經(jīng)添加過(guò)Filter的列增加標識
Extjs 實(shí)戰之 Ext.tree.TreePanel Tree無(wú)法顯示
Extjs彈出框的異步執行
Grid 動(dòng)態(tài)該表列( reconfigure)的性能改善
Spring Boot Ext JS準前后端框架應用的會(huì )話(huà)(Session)處理
[Ext JS 4] Extjs 圖表 Legend(圖例)的分行與分列顯示
[Ext JS 4] Extjs 之 initComponent 和 constructor的區別
[Ext JS 4] Grid 中的單元格添加Tooltip 的效果
[Ext JS 4] Grid 實(shí)戰之分頁(yè)功能
[Ext JS 4] Grid 組件
[Ext JS 4] MVC 應用程序框架
[Ext JS 4] MVC 應用程序框架
發(fā)布 [Ext JS 4] contentEL,renderTo, applyTo 釋義與區別
[Ext JS 4] 動(dòng)態(tài)加載
[Ext JS 4] 實(shí)戰之 ComboBox 和 DateField (消失之解決辦法)
[Ext JS 4] 實(shí)戰之 Picker 和 Picker Field
[Ext JS 4] 實(shí)戰之 帶week(星期)的日期選擇控件(二)
[Ext JS 4] 實(shí)戰之 ComboBox 和 DateField 的點(diǎn)擊事件在IE下失效
## [Ext JS 4] 實(shí)戰之 帶week(星期)的日期選擇控件(三)
[Ext JS 4] 實(shí)戰之 帶week(星期)的日期選擇控件
[Ext JS 4] 實(shí)戰之Chart 坐標控制(單坐標,雙坐標)
[Ext JS 4] 實(shí)戰之Chart, Column Chart 定制顏色
[Ext JS 4] 實(shí)戰之Grid, Tree Gird 動(dòng)態(tài)添加列
[Ext JS 4] 實(shí)戰之Grid, Tree Gird 動(dòng)態(tài)添加列續(性能考慮)
[Ext JS 4] 實(shí)戰之Grid, Tree Gird 動(dòng)態(tài)添加行
[Ext JS 4] 實(shí)戰之Grid, Tree Gird 添加按鈕列
[Ext JS 4] 實(shí)戰之Grid, Tree Gird編輯Cell
[Ext JS 4] 實(shí)戰之Load Mask - 在Grid Reconfigure的使用狀況
[Ext JS 4] 實(shí)戰之Load Mask(加載遮罩)的顯示與隱藏
[Ext JS 4] 實(shí)戰之多選下拉單 (帶checkbox) 續 - 帶ALL 選項
[Ext JS 4] 實(shí)戰之多選下拉單 (帶checkbox)
[Ext JS 4] 實(shí)戰之升級系列一[Ext jS 3-->Ext JS 4]
[Ext JS 4] 實(shí)戰之將chart導出為png, jpg 格式的文件
[Ext JS 4] 實(shí)戰之瀏覽器兼容
[Ext JS 4] 布局之實(shí)戰二 - 中間區塊不會(huì )自動(dòng)伸展 (tab)續
[Ext JS 4] 組件之圖表
[Ext JS 4]后臺自動(dòng)產(chǎn)生圖檔
[Ext JS 4]性能優(yōu)化
[Ext JS 7 ]7.5 自適應配置 - Responsive Configs
[Ext JS 7] 關(guān)聯(lián)(Association)
[Ext JS 7]事件(Event)
[Ext JS 7]ClassRequire錯誤解決
[Ext JS 7]的開(kāi)發(fā)模式
[Ext JS 7]基于NPM的開(kāi)發(fā)
[Ext JS ] 動(dòng)添切換字段的必填與非必填
[Ext JS4] 數據包
[Ext JS4系列]Ext JS4 入門(mén)
[Ext JS6] Grid不同列的關(guān)聯(lián)編輯
[Ext JS6] ViewControllers-視圖控制器
[Ext JS6]Ext.Template
[Ext JS6]Sencha Cmd
[Ext JS6]編碼規范
[Ext JS6]多類(lèi)型設備開(kāi)發(fā)
[Ext JS6]工作區-Workspace
[Ext JS6]路由(Routing)及使用
[Ext JS6]視圖模型和數據綁定
[Ext JS6實(shí)戰] Ajax獲取Tree Store
[Ext JS6實(shí)戰] Ext.XTemplate
[Ext JS6實(shí)戰]動(dòng)態(tài)數據綁定
[Ext JS] Sencha Cmd命令參考之二
[Ext JS] Sencha Cmd命令參考之一
[Ext JS] Group Grid-分組網(wǎng)格
[Ext JS] Group Grid-分組網(wǎng)格
[Ext JS]嵌套Grid的實(shí)現及注意事項
[Ext JS]SimXhr.js__dc=1659315492151_65 Uncaught TypeError問(wèn)題分析與解決
[Ext JS]Sencha Studio安裝與快速介紹之一
[Ext JS]textfield 添加 compositionstart、compositionupdate 和 compositionend
[Ext JS]圖片顯示方式
[ExtJS 6]Grid分頁(yè)工具欄無(wú)效問(wèn)題解決
[ExtJS6]ResponsiveColumn-自適應列布局
[Extjs 4] 類(lèi)系統
基于Ext JS的模塊化應用框架搭建及開(kāi)發(fā)
[Ext JS] 自行搭建遠端庫的包升級版本后找不到的問(wèn)題解決-The following versions are available
[Ext JS]鼠標移入移除時(shí)彈出和關(guān)閉窗口
[Ext JS]富文本編輯器 CKEditor與Ext JS的整合
[Ext JS]可編輯列Grid的全場(chǎng)景開(kāi)發(fā)
['Ext JS]Grid中的超鏈接列及其功能實(shí)現
[Ext JS]Ext JS + CKEditor+Spring Boot 實(shí)現編輯器圖片上傳
[Ext JS]介紹與快速入門(mén)1
[Ext JS]實(shí)現帶動(dòng)態(tài)數字的圖標
Spring Boot+Ext JS 實(shí)現圖形驗證碼
Ext JS介紹與快速入門(mén)2
Ext JS開(kāi)發(fā)基本環(huán)境準備與項目創(chuàng )建
[Ext JS]開(kāi)發(fā)模式及快速測試方式
[Ext JS]多類(lèi)型終端-電腦、移動(dòng)端(手機、平板)
[Ext JS]基于Ext JS的MVC/MVVM架構的應用開(kāi)發(fā)模式
[Ext JS]Ext JS的類(lèi)與類(lèi)體系
[Ext JS]Ext JS組件、容器與布局
[Ext JS]組件與容器的選擇與開(kāi)發(fā)
[Ext JS]Ext JS數據模型與數據封裝
[Ext JS]Ext JS的控制器類(lèi)型及使用
[Ext JS]說(shuō)透Ext JS的窗口及對話(huà)框用法
[Ext JS]說(shuō)透Ext JS的窗口及對話(huà)框用法
[Ext js]Grid行選擇的多種場(chǎng)景和實(shí)現方式
[Ext JS]Ext JS類(lèi)的繼承與混合
CmsWing
[Ext JS6]多類(lèi)型設備開(kāi)發(fā)
## [Ext JS6]多類(lèi)型設備開(kāi)發(fā) ExtJS 6可以很容易做到在多種設備運行的前端應用。 ### 通用的應用程序和工具包 Ext JS6將 Ext JS 和 Touch合并到包含不同工具包的同一個(gè)框架中。 classic 和 modern 。這些工具包包含 ExtJS 和 Touch 的視圖層。共享核心資源和邏輯功能的應用就成為通用的應用程序。 選擇應用程序的工具包, 只需要修改由 Cmd 產(chǎn)生的應用程序的 app.json 文件的如下內容: “toolkit”: “classic”, 兩個(gè)框架的核心部分, 像data、controllers、models等被調整到一個(gè)共同的平臺,這樣就可以共享數據和邏輯。 app.json是由cmd產(chǎn)生的,包含了一些可以調整的屬性。 如果是就項目的升級, 舊的app.json可能有點(diǎn)屬性沒(méi)有, 升級之后,在.sencha/app/app.defaults.json文件就可以看到默認值的配置了, 復制到對對應的app.json。 Classic - 經(jīng)典 Classic工具 包支持傳統的 Ext JS 5 的應用程序, 包括桌面瀏覽器、平板和觸摸屏的筆記本電腦。 Modern - 現代 Modern工具包支持 HTML5應用程序, 包括桌面和手機的所有現代瀏覽器 (IE11及以上)都支持。 ### 構建配置 對app.json文件的builds屬性的不同配置可以創(chuàng )建不同類(lèi)型的應用程序。習慣上,構建不同主題和本地化的應用。 通過(guò)設置classic?或者modern?(也可以是同時(shí)設置), Cmd 會(huì )找到每一個(gè)配置來(lái)進(jìn)行構建。 在每個(gè)工具包中, 業(yè)務(wù)邏輯是共用的。 看一個(gè)實(shí)例: ```javascript "builds": { "mymodern": { "toolkit" : "modern", "theme" : "theme-cupertino", "requires": [ "charts", "ux" ] }, "myclassic": { "toolkit" : "classic", "theme" : "theme-neptune", "slicer" : null, "requires": [ "charts" ] }} ``` ### Cmd 構建 以上面為例, 構建現代的應用程序 ``` sencha app build mymodern ``` 構建經(jīng)典的應用程序 ``` sencha app build myclassic ``` 構建所有的 ``` sencha app build ``` 注意:構建的名字是可以隨便給的, 文件和命令對應上就可以了。 以上mymodern 的構建使用 modern 工具包,使用ux和 chart 的包,主題是:cupertino 。 可以創(chuàng )建任意的構建, 默認,輸出的目錄在根目錄的構建目錄。 ### 通用應用程序 通用應用程序使用 Cmd 產(chǎn)生跨兩個(gè)工具包的多個(gè)應用程序。 應用程序的構建結果可以運行在桌面端或是移動(dòng)設備。需要注意的是同一個(gè)個(gè)應用程序不能在同一個(gè)類(lèi)路徑包含 modern和 classic兩個(gè)框架。一般狀況, 應用程序會(huì )在一個(gè)傳統的應用程目錄包含全局邏輯, 也就是目錄:app。理想狀況下, 應用程序的通用部分包括數據、模型、視圖模型等, 共享控制器。邏輯部分跨工具包需要好好考慮一下。 舉例來(lái)說(shuō), 一個(gè)經(jīng)典的應用程序有一個(gè)grid, 一個(gè)現代的應用程序有一個(gè)list, 兩個(gè)組件共享store和model。如果需要這兩個(gè)組件針對用戶(hù)的操作做出反應, 就需要在這個(gè)grid和list找到相同的事件。因為兩個(gè)組件都可以觸發(fā)select事件,理想的方案可能是利用它。但是,如果邏輯有包含itemtap, 而這個(gè)在經(jīng)典模式是不認識的, 這樣在Cmd構建經(jīng)典的時(shí)候就可能會(huì )有問(wèn)題。 考慮共用邏輯和資源之后, 在不同的工具包的 src目錄下創(chuàng )建不同工具包特定的代碼。 注意: 如果是構建單個(gè)工具包的應用,則目錄結構看起來(lái)和之前的很類(lèi)似。 Ext JS6目錄結構,包括三個(gè)部分: 全局應用代碼 經(jīng)典特定代碼 現代特定代碼 類(lèi)似: // app // app // model // store // view // classic // src // sass // resources // modern // src // sass // resources // resources // sass ### 創(chuàng )建通用的應用 使用 cmd 命令: ``` sencha -sdk /path/to/ExtSDK generate app MyApp ./MyAppLocation ``` 這個(gè)命令會(huì )創(chuàng )建一個(gè)功能齊全的通用應用, 會(huì )產(chǎn)生classic?和modern?的應用, 共用的部分在 app目錄下。工具包特定的定義在各自的目錄中(modern 、classic) 。 在開(kāi)發(fā)的時(shí)候, 可以針對不同的工具包進(jìn)行啟動(dòng): 現代: ``` sencha app watch modern ``` 經(jīng)典: ``` sencha app watch classic ``` 如果不輸入查看的目標的話(huà), 默認使用builds?配置里的第一個(gè)。 對應用構建之后, 就可以在各自的瀏覽器進(jìn)行查看。在手機查看modern?風(fēng)格的, 在桌面查看classic版本的。 ### 運行時(shí)配置 除此,還可以通過(guò)運行是配置, 包括應用配置、響應配置和平臺配置 來(lái)使用戶(hù)對于不同的媒介有著(zhù)相同的無(wú)縫的體驗。 #### App Profiles - 應用配置 Ext.app.Profile可以基于mainView(或者 Viewport)切換應用的視圖。也就是說(shuō), 可以通過(guò)在某些條件下激活一個(gè)profile?創(chuàng )建一整套不同的視圖。舉例來(lái)說(shuō), 根據應用在不同的設備上(移動(dòng)或者桌面瀏覽器)指定特定的視圖。 創(chuàng )建兩個(gè)應用配置的例子: ```javascript Ext.define('App.Application', { extend: 'Ext.app.Application', profiles: [ 'Desktop', 'Mobile' ]}); ``` 通過(guò)Profile的isActive方法返回生效的配置, 以偵測到的操作系統為例: ```javascript Ext.define('App.profile.Desktop', { extend: 'Ext.app.Profile', mainView: 'App.view.desktop.Main', isActive: function () { return Ext.os.is.Desktop; }, launch: function () { console.log('Launch Desktop'); }}); ``` 配置不會(huì )使用到mainView配置,可以使用配置的launch方法進(jìn)一步客制, 僅生效的配置的launch會(huì )被執行。 #### Platform Configs - 平臺配置 platformConfig?屬性使用在類(lèi)的定義中, 用于基于平臺或設備的類(lèi)型的配置, 類(lèi)似: ```javascript Ext.define('App.view.summary.Manufacturing', { extend: 'Ext.panel.Panel', title: 'Mfg Summary', platformConfig: { desktop: { title: 'Manufacturing Summary' } }}); ``` 等效于: ```javascript Ext.define('App.view.summary.Manufacturing', { extend: 'Ext.panel.Panel', title: testForDesktop ? 'Manufacturing Summary': 'Mfg Summary'} ); ``` 第一種方式將platformConfig看成是類(lèi)定義的一部分, 如果將視圖看成數據的話(huà), 第二種方式是標準的 JSON格式。 也可以如下方式使用: ```javascript Ext.define('App.view.summary.Manufacturing', { extend: 'Ext.panel.Panel', items: [{ xtype: 'panel', platformConfig: { desktop: { title: 'Manufacturing Summary' }, '!desktop': { title: 'Mfg Summary' } } }]}); ``` platformConfig的配置由initConfig?方法進(jìn)行合并處理,也就是說(shuō), 只有在構造函數調用initConfig方法的類(lèi)platformConfig才能生效。這些類(lèi)包括:Ext.Widget,?Ext.Component, 大部分的數據類(lèi)AbstractStore, 和使用Observable的類(lèi)。 #### 響應配置 - Responsive Configs Ext JS 5開(kāi)始引入responsiveConfig?,Responsive Mixin?和插件啟用它。responsiveConfig配置的規則和屬性不僅僅是在創(chuàng )建實(shí)例的時(shí)候, 而且會(huì )根據設備的方向和大小的變化來(lái)適應。相比platformConfig, responsiveConfig?的花銷(xiāo)會(huì )大一些。 以下,根據設備的寬來(lái)顯示標題: ```javascript Ext.define('App.view.summary.Manufacturing', { extend: 'Ext.panel.Panel', mixins: ['Ext.mixin.Responsive'], responsiveConfig: { 'width >= 600': { title: 'Manufacturing Summary' }, 'width < 600': { title: 'Mfg Summary' } }}); ``` 以上是應用在類(lèi)上面, 如果是應用在實(shí)例上,就需要使用插件plugins了, 類(lèi)似: ```javascript Ext.define('App.view.summary.Manufacturing', { extend: 'Ext.panel.Panel', items: [{ xtype: 'panel', plugins: 'responsive', responsiveConfig: { 'width >= 600': { title: 'Manufacturing Summary' }, 'width < 600': { title: 'Mfg Summary' } } }]}); ``` 需要注意的是上面的是 viewport?的寬度,不是組件的寬度。 ### 結論 不同的工具應用在不同的場(chǎng)景, 在加載時(shí)使用platformConfig,動(dòng)態(tài)條件, 用responsiveConfig, 在更大的范圍修改, 用Ext.app.Profile。 如果需要應用在平板和在桌面和手機看上去完全不一樣, 可以考慮使用 cmd 的構建配置(profiles)。
← 上一篇:工業(yè)ERP系統五十問(wèn)...
下一篇:科學(xué)管理與信息化建設【第4期】裝配式建筑... →
網(wǎng)站導航
首頁(yè)
動(dòng)態(tài)
方案
案例
專(zhuān)欄
期刊
聯(lián)系我們