Pregunta

Algunos jQuery plugin de widget de extender el uso del método _create, mientras que otros utilizan _init método, ¿Puede alguien explicar las diferencias entre los dos?

También cualquier orientación sobre cuándo es mejor para extender el aparato o directamente extender jquery.fn?

¿Fue útil?

Solución

La desventaja de aumentar la diferencia widgets (en contraposición a $ .fn) es que se crea una dependencia de jquery-ui que define el widget "clase". Que la dependencia podría ser costoso para los usuarios de su plugin que no utilizamos también jquery-ui.

En lo que va _create vs _init, estoy bastante seguro de que _init fue primero y luego en una revisión reciente se introducen y _create favor. Puedo estar equivocado acerca de esto, pero creo que todavía _init es compatible. Si es así, no debería haber ninguna diferencia entre los dos.

Otros consejos

Desde el jQuery UI Guía del desarrollador :

Una vez creado el elemento, todas las demás llamadas al nombre del widget en el que el primer parámetro es una cadena no llamará al método _init (); si se pasan opciones, el método .Opción () será llamada antes de que el método _init ()

Un widget tiene tres fases:

+-------+----------------+---------------+--------------------------------------------------------------------------------------------+
| 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.                    |  
+-------+----------------+---------------+--------------------------------------------------------------------------------------------+

Nota . Los nombres de los métodos que comienzan con un guión están destinados a ser privada por convención


Así que hay una diferencia entre _create y _init. Uno se utiliza para la creación y el otro se utiliza para la inicialización. Cada vez que se llama el widget sin argumentos o con opciones, será indirectamente llamar al método _init. Por lo tanto, esto puede ser utilizado para Restablecer (reinicializar) un widget o pasarlo diferentes opciones.

Más detalles acerca de cada fase aquí .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top