Pregunta

Estoy tratando de adoptar Jammit en mi aplicación Rails.

config en la documentación proporcionada agarra todos los archivos js incluyendo vista específica javascript:

embed_assets: on

javascripts:
  workspace:
    - public/javascripts/vendor/jquery.js
    - public/javascripts/lib/*.js
    - public/javascripts/views/**/*.js
    - app/views/workspace/*.jst

stylesheets:
  common:
    - public/stylesheets/reset.css
    - public/stylesheets/widgets/*.css
  workspace:
    - public/stylesheets/pages/workspace.css
  empty:
    - public/stylesheets/pages/empty.css

Vamos a considerar un caso cuando javascript vista específica debe ser ejecutada sólo en cierto punto de vista:

$(function(){
  alert("View specific message here!");
}

¿Cómo puedo evitar tal efecto?

Saludos, Alexey Zakharov

¿Fue útil?

Solución

Mi preferencia es para concluir que "vista-específica-javascript" en una función. Y luego llamar a esa función dependiendo de la página que se carga en realidad. De esta manera, todos sus archivos JavaScript pueden almacenar en caché de los navegadores como un solo archivo, y se puede ejecutar las porciones de la JS que necesita.

Así que me gustaría añadir una etiqueta a la plantilla <script> html.erb particular que llama a su visión específica de la función de carga de la página.

Espero que ayude ...

Otros consejos

Estoy cavando esto para señalar una alternativa a jashkenas enfoque, que consiste en el comportamiento de enlace sólo para etiquetas específicas.

$(function() {
  $('#my-view-object').someBehaviour();
}

Así que, ¿cuál es el truco? La principal diferencia es que el código JS tiende a estar vinculado a ciertos objetos, no páginas. En caso de que reorganizar sus puntos de vista, se quiere tener que cambiar sus JS también. El otro problema es que JS tiene que estar en la parte inferior de la página para exprimir el máximo rendimiento del navegador. Si va a colocar entradas de guión en sus puntos de vista, lo más probable es que va a terminar siendo todo de la página HTML de marcado y la desaceleración de la prestación.

BR, - José

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