jquery del widget, _create o _init
-
09-10-2019 - |
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?
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 ??em>. 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í .