我有这个布局模板:
<template name="layout">
{{> yield }}
{{> tail }}
</template>现在,在开始呈现{{> tail }}之前,流星似乎并不等待{{> yield }}完全呈现
这是尾巴。这里的HTML需要在创建完DOM的其余部分之后加载(我使用的是Bootstrap模板)。
<template name="tail">
<!-- Plugin JavaScript -->
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script>
<script src="/js/classie.js"></script>
<script src="/js/cbpAnimatedHeader.js"></script>
<!-- Contact Form JavaScript -->
<script src="/js/jqBootstrapValidation.js"></script>
<script src="/js/contact_me.js"></script>
<!-- Custom Theme JavaScript -->
<script src="/js/agency.js"></script>
</template>如何在呈现所有其他模板之后呈现tail.html中的超文本标记语言?
我可以使用:
Template.layout.rendered = function(){
var scripts = '\
<!-- Plugin JavaScript -->\
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script>\
<script src="/js/classie.js"></script>\
<script src="/js/cbpAnimatedHeader.js"></script>\
\
<!-- Contact Form JavaScript -->\
<script src="/js/jqBootstrapValidation.js"></script>\
<script src="/js/contact_me.js"></script>\
\
<!-- Custom Theme JavaScript -->\
<script src="/js/agency.js"></script>\
';
$('body').append(scripts);
};但这太丑陋了。它将尾部代码分解成一个字符串,迫使你添加\,使得以后编辑代码变得非常困难。
发布于 2014-11-23 03:55:41
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.onreadystatechange = function() {
// if (this.readyState == 'complete') { callFunctionFromScript(); }
}
script.src = 'path/to/your-script.js';
head.appendChild(script);您可以直接将其映射到html head标签中。
Template.layoutHeader.rendered = function() { .. }https://stackoverflow.com/questions/27075366
复制相似问题