我正在阅读dojo classy tutorial,并且有一个创建命名类的示例:
// 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
这是什么意思? 它与解析器不再相关。过去,在解析html片段以将data-dojo-type =“”与这些类名匹配时,dojo解析器使用了类名参数。现在你可以放置AMD模块标识符,例如。模块的“dijit / Button”返回窗口小部件的构造函数,解析器可以自动加载和实例化窗口小部件而不使用类名。