【发布时间】:2014-01-08 20:14:30
【问题描述】:
我是第一次使用 Meteor.js 框架,我无法理解模板系统的事件顺序(从未使用过 Handlebars.js),以及如何处理范围。
我有一个名为audio.js 的文件。在其中,我定义了一个类并使用该类初始化一个变量:
// Question about this as well, how do I properly make a jQuery class?
// Is this the right way?
$.Audio = function() {}
$.Audio.prototype = {
init: function() {
this.ele = $('.blahblah');
}
startAudio: function() {
// do things
}
}
var Music = new $.Audio();
所以我的 var Music 是在 audio.js 内部创建的。
现在,在另一个 js 文件中,我正在做一些模板函数:
Template.bars.rendered = function {
Music.startAudio();
}
但我从那行得到一个Uncaught ReferenceError: Music is not defined。
主要问题:
作用域在 Meteor.js 中是如何工作的?如何引用我在另一个文件中的模板函数内的一个文件中声明的 Music 变量?
不太重要的问题,可能不容易回答,因为这不是一个很好的问题。如何在程序上用流星编写 javascript?这是我第一次使用模板。我习惯于在 DOM 中列出的 javascript 被渲染(或者当 DOM 被加载或使用监听器触发事件等)。我不明白如何使用模板将 javascript 中的逻辑事件链联系在一起。
【问题讨论】:
-
完整阅读docs.meteor.com。 sry,但是解释概念,根据概念解决您的问题以及整个问题需要2个多小时。我个人认为你应该先开始尝试流星,然后研究文档和eventedmind.com 以适应流星。如果您发现了它,您可能想尝试编写自己的插件、扩展或库。 - 没有冒犯!
标签: javascript jquery node.js meteor handlebars.js