打算使用EXTJS4.0作为工具。使用EXTJS提供的grid,tree,chart,form。首先准备学习一下TREE组件。项目必备组件。
ptype: treeviewdragdrop:This plugin provides drag and/or drop functionality for a TreeView。
今天对EXTJS的CONFIG用法有些迷惑,下面进行一下解读:
Extjs 4中,为类型系统引入了Config概念,Config就是配置项的意思,用{configItem1:value1...}表示;
在对象构造的时候,会调用this.initConfig(config)将配置项初始化,每个配置项自动生成4个函数:get set reset apply。
Mixins也是新概念,相当于调用Ext.apply(this,other)将other类中的方法合并到当前的类中,也相当于另一种形式的继承。
下面用代码测试一下,使用了Siesta测试框架,有兴趣可以google一下,很强大的测试系统。
Js代码
- StartTest(function(t) {
- t.diag("Extjs common test");
- t.ok(Ext,"Ext is here");
- Ext.define("test.Talk",
- {
- talk:function()
- {
- return 'talk'
- }
- }
- );
- Ext.define("test.Person",
- {
- mixins:
- {
- everyOneNeedTalk:"test.Talk"
- }
- });
- var p = Ext.create("test.Person");
- t.is('talk',p.talk(),'The method is mixin')
- Ext.define("test.Student",{
- config:{
- gender:'boy'
- },
- constructor:function(config){
- this.initConfig(config);
- //这里需要调用initConfig,否则不会自动生成getter 和 setter
- }
- });
- var s = Ext.create('test.Student')
- t.is(s.getGender(),'boy','generate getter')
- s.setGender('girl');
- t.is(s.getGender(),'girl','generate setter')
- t.done(); // Optional, marks the correct exit point from the test
- });