您的位置:首页 > 其它

Ext4.2.1学习历程之二:自定义类及类的动态加载

2015-11-23 23:17 239 查看
原文出处   http://blog.itpub.net/28562677/viewspace-1067421/

--------------------------------------------------------------

在些extjs类的定义时有必要简单介绍一下js原生态的类定义,已做参考

原生态自定义类:

点击(此处)折叠或打开

function Person(name){

    this.name=name;

    this.sayHello=function(content){

        alert(this.name+\'说:\'+content);

    }

}

new Person(\'sc\').sayHello(\'hello
world!\')

Extjs4.2自定义类的定义和实例的创建:

点击(此处)折叠或打开

Ext.define(\'Myapp.Person\',{

        config:{

            name:\'\'

        },

        sayHello:function(oparetion){

         Ext.Msg.alert(this.name,oparetion);

       },

         constructor:function(name){

         this.initConfig(name);

       }

    })

一个自定义的类就创建好了,说明:使用Ext.define 来自定义类,通过Ext.define 定义的类都默认继承自Ext.base 类。现在我们在看看怎么创建该类的实例:

点击(此处)折叠或打开

Ext.onReady(function(){

     Ext.create(\"Myapp.Person\",{

         name:\'sc\'

     }).sayHello(\'hello
world!\');

})

大家可以参考两种方法比较;
现在我们再来看看动态加载,还是用上面的这个例子演示:

创建一个Person.js的文件,内容为:

点击(此处)折叠或打开

Ext.define(\'Myapp.Person\',{

        config:{

            name:\'cc\'

        },

        sayHello:function(oparetion){

         Ext.Msg.alert(this.name,oparetion);

       },

         constructor:function(name){

         this.initConfig(name);

    })

创建一个index.jsp页面,内容:

点击(此处)折叠或打开

Ext.onReady(function(){

     Ext.Loader.setConfig({

     enabled: true,

     paths: {

         Myapp:\"resources/myjs\"

     }

     });

         Ext.create(\"Myapp.Person\",{

         name:\'sc\'

     }).sayHello(\'hello
world!\');

    })

1、Ext.Loader.setConfig为动态加载配置项;
2、paths: {Myapp:"resources/myjs"}中"resources/myjs这段是Person.js的相对路径;
3、Ext.create(\"Myapp.Person\",{})中Myapp.Person是自定义类的全名,不可以使用别名,负责是无法找到自定义类的js的;
4、创建的js文件名称必须与Ext.create(\"Myapp.Person\",{})中的Person名称一致,因为在执行的时候会根据Myapp.Person中的Person来找Person.js.没有的话就会报错;

最近学习有些忙!写的有些简单,如果有需要交流的童鞋盆友留言交流;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: