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 JS4] 數據包
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 JS4] 數據包
## [Ext JS4] 數據包 ### 數據 Ext JS的data包有41個(gè)類(lèi),最重要的就是Model,Store 和Ext.data.proxy.Proxy這三個(gè)了。 ### Models 和 Stores Ext.data.Model是數據包的核心。一個(gè)Model代表應用程序的一些類(lèi)型的數據。比如,一個(gè)電子商務(wù)應用程序可能含有 User,Products 和Orders 這樣的Model.最簡(jiǎn)單的Model就是一組字段和值。這里著(zhù)重介紹Model的四個(gè)基本的組成部分-Fields,Proxies,Associations 和 validations. 來(lái)看看如何定義一個(gè)model 的簡(jiǎn)單示例: ```javascript Ext.define('User', { extend: 'Ext.data.Model', fields: [ { name: 'id', type: 'int' }, { name: 'name', type: 'string' } ] }); ``` Model 定義之后如何使用呢? Model 最典型的是被一個(gè)Stroe使用, 以下是創(chuàng )建一個(gè)store 和加載數據的例子: ```javascript Ext.create('Ext.data.Store', { model: 'User', proxy: { type: 'ajax', url : 'users.json', reader: 'json' }, autoLoad: true }); ``` 這里使用Ajax Proxy 作為Store的數據源,配置了url 和 Reader(用于解碼數據)。 這個(gè)Store 自動(dòng)通過(guò)url(user.json)從服務(wù)端加載model 為User 的數據,服務(wù)端返回的JSON數據應該是如下格式: ```javascript { success: true, users: [ { id: 1, name: 'Ed' }, { id: 2, name: 'Tommy' } ] } ``` ### 內聯(lián)數據 Stores 也可以?xún)嚷?lián)的方式加載數據。Store 回把傳入的數據轉換成 model, 如: ```javascript Ext.create('Ext.data.Store', { model: 'User', data: [ { firstName: 'Ed', lastName: 'Spencer' }, { firstName: 'Tommy', lastName: 'Maintz' }, { firstName: 'Aaron', lastName: 'Conran' }, { firstName: 'Jamie', lastName: 'Avins' } ] }); ``` ### 排序和分組 類(lèi)似遠端服務(wù)器的排序,過(guò)濾和分組,Stores 也可以在本地客戶(hù)端進(jìn)行排序,過(guò)濾和分組。 ```javascript Ext.create('Ext.data.Store', { model: 'User', sorters: ['name', 'id'], filters: { property: 'name', value : 'Ed' }, groupField: 'age', groupDir: 'DESC' }); ``` 在這個(gè)例子中,這個(gè)store先用name排序,再用 id排序。 只包含name="Ed"的數據,用age欄位逆序排列。 ### 代理 Proxies(代理)用來(lái)處理加載和保存Model 數據。有兩種類(lèi)型的代理: 客戶(hù)端的和服務(wù)端的??蛻?hù)端代理的例子有使用瀏覽器緩存來(lái)存儲數據和使用HTML 5本地存儲特性來(lái)進(jìn)行的本地存儲。服務(wù)端代理處理遠端服務(wù)器返回的數據,比如Ajax,JsonP 和Rest. 代理可以直接定義在一個(gè)Model上, 像: ```javascript Ext.define('User', { extend: 'Ext.data.Model', fields: ['id', 'name', 'age', 'gender'], proxy: { type: 'rest', url : 'data/users', reader: { type: 'json', root: 'users' } } }); // Uses the User Model's Proxy Ext.create('Ext.data.Store', { model: 'User' }); ``` 這樣做有兩個(gè)好處: 首先是這樣的寫(xiě)法保證了所有使用User 這個(gè)Model的Store 都以同樣的方式加載數據,避免在每個(gè)Store中重復定義Proxy; 其次,這樣寫(xiě)可以在不使用store的狀況下,加載和保存Model 數據。如下例 // Gives us a reference to the User class ```javascript varUser = Ext.ModelMgr.getModel('User'); var ed = Ext.create('User', { name: 'Ed Spencer', age : 25 }); // We can save Ed directly without having to add him to a Store first because we // configured a RestProxy this will automatically send a POST request to the url /users ``` ```javascript ed.save({ success: function(ed) { console.log("Saved Ed! His ID is "+ ed.getId()); } }); // Load User 1 and do something with it (performs a GET request to /users/1) User.load(1, { success: function(user) { console.log("Loaded user 1: " + user.get('name')); } }); ``` LocalStorage 和SessionStorage. (HTML5相關(guān)的本地存儲) ### 關(guān)聯(lián)(Associations) 可以使用關(guān)聯(lián)的API 建立Models之間的關(guān)系。大多數的應用程序都有很多模型,而且模型之間基本上都是有關(guān)聯(lián)的。舉博客程序這樣的例子來(lái)說(shuō),每個(gè)用戶(hù)可以發(fā)表多篇博文: ```javascript Ext.define('User', { extend: 'Ext.data.Model', fields: ['id', 'name'], proxy: { type: 'rest', url : 'data/users', reader: { type: 'json', root: 'users' } }, hasMany: 'Post'// shorthand for { model: 'Post', name: 'posts' } }); Ext.define('Post', { extend: 'Ext.data.Model', fields: ['id', 'user_id', 'title', 'body'], proxy: { type: 'rest', url : 'data/posts', reader: { type: 'json', root: 'posts' } }, belongsTo: 'User', hasMany: { model: 'Comment', name: 'comments' } }); Ext.define('Comment', { extend: 'Ext.data.Model', fields: ['id', 'post_id', 'name', 'message'], belongsTo: 'Post' }); 定義完成之后,在模型實(shí)例中就很容易能得到這些關(guān)聯(lián)數據:如 // Loads User with ID 1 and related posts and comments using User's Proxy User.load(1, { success: function(user) { console.log("User: " + user.get('name')); user.posts().each(function(post) { console.log("Comments for post: " + post.get('title')); post.comments().each(function(comment) { console.log(comment.get('message')); }); }); } }); ``` 以上是獲取關(guān)聯(lián)數據的例子,除了獲取之外,也可以創(chuàng )建數據 ```javascript user.posts().add({ title: 'Ext JS 4.0 MVC Architecture', body: 'It\'s a great Idea to structure your Ext JS Applications using the built in MVC Architecture...' }); user.posts().sync(); ``` 也可以如下方法使用: ```javascript // get the user reference from the post's belongsTo association post.getUser(function(user) { console.log('Just got the user reference from the post: ' + user.get('name')) }); // try to change the post's user post.setUser(100, { callback: function(product, operation) { if (operation.wasSuccessful()) { console.log('Post\'s user was updated'); } else { console.log('Post\'s user could not be updated'); } } }); ``` ### 加載嵌套數據 關(guān)聯(lián)數據也可以直接使用以下方式: ```javascript { success: true, users: [ { id: 1, name: 'Ed', age: 25, gender: 'male', posts: [ { id : 12, title: 'All about data in Ext JS 4', body : 'One areas that has seen the most improvement...', comments: [ { id: 123, name: 'S Jobs', message: 'One more thing' } ] } ] } ] } ``` 框架會(huì )自動(dòng)的解析這個(gè)數據。 ### 驗證 還是用上面User 模型為例: ```javascript Ext.define('User', { extend: 'Ext.data.Model', fields: ..., validations: [ {type: 'presence', name: 'name'}, {type: 'length', name: 'name', min: 5}, {type: 'format', name: 'age', matcher: /\d+/}, {type: 'inclusion', name: 'gender', list: ['male', 'female']}, {type: 'exclusion', name: 'name', list: ['admin']} ], proxy: ... }); ``` presence -- 非空判斷。0 是合法值,空字串不是。 inclusion: -- 一組特定的值 定義完成之后,如何使用: ```javascript // now lets try to create a new user with as many validation errors as we can var newUser = Ext.create('User', { name: 'admin', age: 'twenty-nine', gender: 'not a valid gender' }); // run some validation on the new user we just created var errors = newUser.validate(); console.log('Is User valid?', errors.isValid()); //returns 'false' as there were validation errors console.log('All Errors:', errors.items); //returns the array of all errors found on this model instance console.log('Age Errors:', errors.getByField('age')); //returns the errors for the age field ```
← 上一篇:工業(yè)ERP系統五十問(wèn)...
下一篇:MySQL知識大全... →
網(wǎng)站導航
首頁(yè)
動(dòng)態(tài)
方案
案例
專(zhuān)欄
期刊
聯(lián)系我們