loop - template string javascript html
Incluye javascript en una plantilla de meteorito (3)
Soy muy nuevo en el meteoro y estoy tratando de ejecutar una página que hace uso del reproductor de video flowplayer.
Normalmente, todo lo que tendría que hacer para instalar Flowplayer es agregar un archivo js y css a la página.
He agregado estos archivos a la carpeta / public y agregué enlaces a ellos en la cabecera. Los archivos aparecen en la página pero el reproductor no aparece como normal, parece que en la página JavaScript no se ejecuta como lo haría en una página estándar.
Estás buscando ayudantes:
Template.body.helpers({
tasks: [
{ text: ''This is task 1'' },
{ text: ''This is task 2'' },
{ text: ''This is task 3'' },
],
});
y en su HTML de plantilla:
<div class="container">
<header>
<h1>Todo List</h1>
</header>
<ul>
{{#each tasks}}
{{> task}}
{{/each}}
</ul>
</div>
EDITAR : Tal vez un mejor ejemplo aquí:
Template.loaderboard.helpers({
player: function() {
return "Hello player";
},
videoPlayer: function() {
return $(".video-player").videoPlayer(); // Pseudo-code
}
});
y en tu HTML:
<template name="leaderboard">
{{player}}
{{videoPlayer}}
</template>
Una solución de js pura es cargar la secuencia de comandos en el Funktion onRendered
:
Template.yourTemplate.onRendered(function() {
$(document).ready(function() {
var script = document.createElement("script");
script.type="text/javascript";
script.src = "REMOTE_SCRIPT_URL";
$("#script_div").append(script);
});
});
O puede usar, por ejemplo, meteor-external-file-loader para incluir los archivos externos.
Si la biblioteca expone solo una var
global (y no una ventana global), debe [projectRoot]/client/compatibility
en la carpeta especial [projectRoot]/client/compatibility
, de modo que Meteor sepa que no debe envolver el archivo JS en un ámbito separado, pero incluirlo como una biblioteca pasada de moda (similar a una etiqueta <script>
).