dojo命名类 - 何时使用它们以及如何创建它们?

时间:2013-06-20 06:36:39

标签: dojo

我正在阅读dojo classy tutorial,并且有一个创建命名类的示例:

// Create a new class named "mynamespace.MyClass"
declare("mynamespace.MyClass", null, {

    // Custom properties and methods here

});

问题:我何时应该使用命名类,何时应该使用匿名类?

  

“名为mynamespace.MyClass的类现在可在应用程序中全局使用”

问题:如何在应用程序中创建我的类的实例?

  

“只有在与命名类一起使用时才能创建命名类   Dojo解析器。所有其他类应省略className参数。“

问题:这是什么意思?

1 个答案:

答案 0 :(得分:0)

我何时应该使用命名类,何时应该使用匿名类?

在Dojo 1.8之前,您需要使用第一个argment来提供一个类名,该名称既用于命名空间中的类,也用于dojoType属性中的dojo解析器(用于声明性标记)。

如何在应用程序中创建我的类的实例?

// First make sure to import/alias the declare module in your application module that will be declaring the new class:
//    define([dojo/_base/declare],function(declare){}){

// From 1.8+, you don't need the class name parameter.  
// Supplying the name provides no additional value.
declare(null, {
    // Custom properties and methods here
});

dojo声明的官方参考指南页面包含更多信息,请访问:http://dojotoolkit.org/reference-guide/1.9/dojo/_base/declare.html#dojo-base-declare

这是什么意思? 它与解析器不再相关。过去,在解析html片段以将data-dojo-type =“”与这些类名匹配时,dojo解析器使用了类名参数。现在你可以放置AMD模块标识符,例如。模块的“dijit / Button”返回窗口小部件的构造函数,解析器可以自动加载和实例化窗口小部件而不使用类名。