ExtJS 4 Beta 2预览:Ext.Brew包
我们还没有介绍过ExtJS 4众多特性之一的新Ext.Brew包。这是独一无二的Javascript框架,Ext.Brew是采用Sencha独特技术酿造的的一杯完美的茶。
使用新数据包的强大功能,可在任何时候构建一个生成一致均衡的茶的应用程序。开始之前,首先定义一个部件之间用于交互的模型。
1 | Ext . onReady ( function ( ) { |
2 | Ext . regModel ( ' Cups ' , { |
3 | fields : [ ' material ' , ' size ' ] |
4 | } ) ; |
5 | |
6 | Ext . regModel ( ' Teas ' , { |
7 | fields : [ ' name ' , ' caffeine ' , ' brewtemp ' ] |
8 | } ) ; |
9 | |
10 | var cupStore = new Ext . data . Store ( { |
11 | model : ' Cups ' , |
12 | sorters : [ ' size ' ] , |
13 | data : [ |
14 | { material : ' Ceramic ' , size : ' 6oz ' } , |
15 | { material : ' Ceramic ' , size : ' 12oz ' } , |
16 | { material : ' Glass ' , size : ' 8oz ' } , |
17 | { material : ' Glass ' , size : ' 16oz ' } |
18 | ] |
19 | } ) ; |
20 | |
21 | var teaStore = new Ext . data . Store ( { |
22 | model : ' Teas ' , |
23 | sorters : [ ' name ' ] , |
24 | data : [ |
25 | { name : ' Sencha ' , caffeine : 45 , brewtemp : 175 } , |
26 | { name : ' Earl Grey ' , caffeine : 40 , brewtemp : 210 } , |
27 | { name : ' Oolong ' , caffeine : 70 , brewtemp : 176 } , |
28 | { name : ' Herbal ' , caffeine : 0 , brewtemp : 210 } |
29 | ] |
30 | } ) ; |
31 | } ) ; |
现在我们已经有了一个茶的模型和Store,可以泡茶了。很不幸,在Beta 2版新的Brew包只能泡Sencha茶,如果想尝试泡其它的茶,可能会导致滚烫的水从笔记本中弹出,因此,请尽量谨慎使用测试版软件。
要使用Ext.Brew包,你必须从基类扩展它并提供Store,以便让它知道茶的类型和如何操作。在实例中,可执行开始、暂停和停止操作。当Brew处于活动状态,可检查状态和临时属性,以便为用户提供一个有很好的用户体验的Extjs应用程序。onready事件将根据模型变量在brew完成时被调用。不过要小心的是,在state值为“active”时,不要暂停或停止brew,这功能还没进行完整的测试,可能会导致弱的brew。
1 | Ext . define ( ' MyApp . BrewMaster ' , { |
2 | extend : ' Ext . Brew ' , |
3 | |
4 | cups : cupStore , |
5 | teas : teaStore , |
6 | |
7 | sugar : ' medium ' , |
8 | milk : ' skim ' , |
9 | |
10 | initComponent : function ( ) { |
11 | // run your brew management code here such as |
12 | // checking brewtemp before the brew starts |
13 | |
14 | MyApp . BrewMaster . superclass . initComponent . apply ( this , arguments ) ; |
15 | } |
16 | |
17 | onReady : function ( ) { |
18 | if ( this . brewtemp > 100 ) { |
19 | // the brew is finished, but it's still too hot to enjoy |
20 | setTimeout ( onReady , 500 ) ; |
21 | } |
22 | } |
23 | |
24 | } ) ; |
希望通过新的Ext.Brew,可以让你每次都能泡一杯完美的茶。在Sencha总部,在一个星期内,已经有一些使用Ext.Brew的应用程序在允许,不过都有轻微的一级烫伤。
作者:Aditya Bansod
Aditya是Sencha的产品管理高级总监,负责产品的规划和Sencha产品线的战略。在来Sencha之前,Aditya在Adobe和微软任职各种高级产品管理的角色,侧重于发展商、移动媒体和消费电子领域。
原文:http://www.sencha.com/blog/ext-js-4-beta-2-preview-the-ext-brew-package/