Javascript 如何在DOJO中将参数传递给自定义小部件?

Javascript 如何在DOJO中将参数传递给自定义小部件?,javascript,dojo,Javascript,Dojo,我正在DOJO中创建一些自定义小部件。 我需要能够在对象初始化时覆盖小部件上的一些属性,例如:new\u labelWebpart(“此处的我的值”) 知道怎么做吗 var widget2 = new _labelWebpart('my value here'); define([ "dojo/_base/declare", "dijit/_WidgetBase", "dijit/_TemplatedMixin", "d

我正在DOJO中创建一些自定义小部件。 我需要能够在对象初始化时覆盖小部件上的一些属性,例如:new
\u labelWebpart(“此处的我的值”)

知道怎么做吗

 var widget2 = new _labelWebpart('my value here');


   define([
        "dojo/_base/declare",
        "dijit/_WidgetBase",
        "dijit/_TemplatedMixin",
        "dojo/text!./templates/label.html",
        "dojo/dom-style",
        "dojo/_base/fx",
        "dojo/_base/lang",
        "dojo/on",
        "dojo/mouse",
        "require"
    ], function (declare, _WidgetBase, _TemplatedMixin, template, domStyle, baseFx, lang, on, mouse, require) {
        return declare([_WidgetBase, _TemplatedMixin], {
            label: "Default text for label", // THIS VALUE SHOULD BE OVERWRITTEN WHEN PASSING ARGUMENT IN THE COSTRUCTOR
            templateString: template,
            baseClass: "Label",
              postCreate: function () {
                var domNode = this.domNode;
                  this.own(
                );
            }
        });
    });

我建议查看构造函数属性:

   return declare([_WidgetBase, _TemplatedMixin], {
        label: "Default text for label",
        templateString: template,

        // other stuff of your declare here

        constructor: function(override_arguments_here) {
           // your init code here to override the label from your arguments
        }
    });

构造函数是文件中的第一个执行点。声明框架应如下所示:

返回declare(“fileNameIfHTMLIsDifferent”,[…]{
templateString:\u templateString
....
,构造函数:函数(args){
declare.safeMixin(本,args);
....
}
,后创建:函数(){
这是继承的(论点);
....
},
启动:函数(){
这是继承的(论点);
}
});