如何在Dojo中创建对象

Dam*_*mir 1 dojo

如何在Dojo中创建对象?如何在Dojo中继承该对象(例如:我想用字段a和方法ACK创建类A,然后创建类B和C,B继承A和B继承C)?怎么做 ?

Mar*_*elo 5

你寻找的是方法dojo.declare(className, extends, fields):

使用字段a和方法ACK创建A类:

dojo.declare("com.mycompany.myapp.A", null, {
    a: "myValue", // field

    ACK: function(param) { // method
       // do something
    }
});
Run Code Online (Sandbox Code Playgroud)

在声明之后,您可以实例化新类的对象:

var x = new com.mycompany.myapp.A();
x.ACK(1);
alert(x.a);
Run Code Online (Sandbox Code Playgroud)

如果您不喜欢使用完整的命名空间并希望获得更多类似Java的声明:

var A = com.mycompany.myapp.A;
var x = new A();
Run Code Online (Sandbox Code Playgroud)

创建类B和C,B继承A和B继承C:

dojo.declare("com.mycompany.myapp.C", null, {  
    // field list
});

dojo.declare("com.mycompany.myapp.B", 
             [com.mycompany.myapp.A, com.mycompany.myapp.C], // B inherits from A and C                  
{  
    // field list
});
Run Code Online (Sandbox Code Playgroud)