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

  显示原文与译文双语对照的内容
0 0

我正在通过dojo高级教程阅读,其中有一个创建命名类的示例:


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

//Custom properties and methods here

});

问:我应该使用命名类的时间,应该使用匿名类的时间?

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

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

命名类应该只在它们将与Dojo解析器一起使用时才被创建。 所有其他类都应该省略className参数。"

问题:什么意思

时间: 原作者:

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

这意味着什么它与解析器不再相关。 它以前是dojo解析器使用的类名参数在解析 html Fragments 以匹配到这些类名的data-dojo-type=""时使用。 现在你可以将AMD模块标识符放在。 模块的dijit/按钮,返回小部件函数的构造函数,解析器可以自动加载和实例化小部件,而不使用类名。

原作者:
...