2010-10-01 3 views
3

Y at-il un moyen de définir un dojo/méthode par programmation, dans une fonction JavaScript? (Au lieu de le définir par script type = "dojo/méthode" dans un widget déclaratif, par exemple.)Dojo's dojo/méthode par programme?

+1

Est-ce http://www.sitepen.com/blog/2007/09/21/dojo-09-power-tools-script-typedojomethod/ faire quelque chose pour vous? – mplungjan

Répondre

8

Remplacez-le directement sur un widget. Par exemple, si vous avez écrit dojo/method pour abc, faire comme ça:

var myWidget = ...; 
myWidget.abc = function(/* args from dojo/method */){ 
    // the body of dojo/method 
}; 
+0

Y a-t-il une chance que vous puissiez développer cela? – Sevenearths

+0

@Sevenearths Je ne sais pas ce que tu veux dire. Ajouter des méthodes avec dojo/method équivaut à les ajouter directement à un objet (un widget dans ce cas). Si vous ne savez pas comment obtenir un objet widget, nommez-le simplement avec "id" ou "widgetId" en HTML, et quand ils sont instanciés, appelez dijit.byId ("yourWidgetName") pour l'obtenir. –

1

Peut-être la meilleure option dans votre cas est s'étendre prototype widget faire comme ça:

dojo.require("dijit.OneDijit"); 
dojo.extend(dijit.OneDijit, { 
newMethod:function(/* method args */){ 
// body of method 
} 
});