Question

Certains extension plug-in jquery widget de méthode utiliser _create, tandis que d'autres utilisent _init méthode, quelqu'un peut-il expliquer les différences entre les deux?

En outre aucune indication sur le moment où il est préférable d'étendre widget ou étendre directement jquery.fn?

Était-ce utile?

La solution

L'inconvénient d'étendre un widget (par opposition à .fn $) est que vous créez une dépendance sur jquery-ui qui définit le widget « classe ». Cette dépendance pourrait être coûteux pour les utilisateurs de votre plugin qui n'utilisent pas aussi jquery-ui.

En ce qui _create vs _init va, je suis sûr que _init est venu d'abord, puis dans une révision récente et ils ont introduit faveur _create. Je peux me tromper à ce sujet, mais je crois que _init est toujours pris en charge. S'il est alors il ne devrait pas y avoir de différences entre les deux.

Autres conseils

De jQuery UI Developer Guide :

  

Une fois que l'élément est créé, tous les autres appels au nom du widget où le premier paramètre n'est pas une chaîne appellera la méthode _init (); si les options sont passées, la méthode .Option () sera appelée avant la méthode _init ()

Un widget comporte trois phases:

+-------+----------------+---------------+--------------------------------------------------------------------------------------------+
| Phase | Name           | jQuery Method | Description                                         |  
+-------+----------------+---------------+--------------------------------------------------------------------------------------------+
|     1 | Creation       | _create       | First time the widget is applied to an element, it is called.                              |  
|     2 | Initialization | _int          | The _init method is called after _create when the widget is first applied to its elements. |  
|     3 | Destruction    | destroy       | The widget's destroy method is used to detach a widget from an element.                    |  
+-------+----------------+---------------+--------------------------------------------------------------------------------------------+

NOTE :. Les noms de méthode commençant par un trait de soulignement sont destinés à être privé par convention


Donc, il y a une différence entre _create et _init. L'un est utilisé pour la création et l'autre est utilisée pour l'initialisation. Chaque fois que vous appelez le widget sans argument ou avec des options, il appellera indirectement méthode _init. Par conséquent, il peut être utilisé pour reset (re-initialize) un widget ou le transmettre différentes options.

Plus de détails sur chaque phase .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top