Last Updated: February 25, 2016
·
835
· gzfrancisco

CoffeeScript Class & jQuery

Ultimamente estoy haciendo sitios en ruby on rails. No es la primer temporada que hago este tipo de desarrollos, pero si es la primera ocasión en la que deseo resolver el evento ready de jQuery con una clase de CoffeeScript.

El objetivo de este post es que resuelvas el problema cuando ejecutas:

document_element = $ document
document_element.ready new Ready

Resulta que el constructor se ejecuta cuando encuentra el new Ready y no cuando el objeto se dispara el evento ready como lo tienes definido.

Así se resuelve:

class window.Ready
  constructor: ->
    output 'constructor'
    slider = $ '#slide-container'
    output slider
  init: ->
    output 'init'
    slider = $ '#slide-container'
    output slider
document_element = $ document
ready = new Ready
document_element.ready ready.init

El objeto slider se encuentra vacío en el constructor, pero se encuentra lleno en el metodo init. Esto es porque el evento ready si esta ligada a la función init y sin embargo cuando el constructor es llamado para crear la instancia no liga el evento y solamente se dedica a crear el objeto para guardarlo en memoria.

Espero que esto le sirva a alguien en sus desarrollos con CoffeeScript y las clases.