我遇到了一个问题,即我的网站上的许多不同页面(使用Ractive.js创建)需要相同的函数,主要是执行AJAX回调服务器的函数。我通常会将所有这些函数存储在一个JS文件中,并将其包含在我的所有页面中以实现通用功能,但当我这样做时,在我的Racive代码中无法识别单个页面的函数。
所以它看起来有点像
<script src="src/to/common/library"></script>
<div id="target"></div>
<div id="template">
// Ractive code
load_models(); // defined in common library, throws error that it's not defined.
</div>
我想明白了。而不是做
$(function() {
var MAIN = new Ractive({
el: '#target',
template: '#template',
我可以做
$.getScript("/app_name/static/js/scripts/common.js", function() {
var MAIN = new Ractive({
...
)};
// all functions defined in common.js are available for your use now
});