我正在为游戏创建一个简单的倒数计时器.我正在使用CoffeeScript和Meteor.我有一个带有{{time}}表达式的Handlebars"Timer"模板.
这是代码:
clock = 10
timeLeft = () ->
if clock > 0
clock--
else
"That's All Folks"
Meteor.clearInterval(interval)
interval = Meteor.setInterval(timeLeft, 1000)
if Meteor.isClient
Template.timer.time = interval
Run Code Online (Sandbox Code Playgroud)
上面的代码只给我一个静态显示8或6而不是倒数计时器.
如果我添加一些console.log语句,我可以看到它在终端中的设计工作.
clock = 10
timeLeft = () ->
if clock > 0
clock--
console.log clock
else
console.log "That's All Folks"
Meteor.clearInterval(interval)
interval = Meteor.setInterval(timeLeft, 1000)
if Meteor.isClient
Template.timer.time = interval
Run Code Online (Sandbox Code Playgroud) 好吧,我知道这是超级基础的,但我已经盯着它看了2天,看不出它为什么不起作用.我使用Handlebars IF助手来有条件地渲染模板.
这是HTML:
<head>
<title>flash</title>
</head>
<body>
{{#if isTrue}}
{{> hello}}
{{else}}
{{> goodbye}}
{{/if}}
</body>
<template name="hello">
<h1>Hello!</h1>
</template>
<template name="goodbye">
<h1>Goodbye!</h1>
</template>
Run Code Online (Sandbox Code Playgroud)
这是简单的咖啡文件:
isTrue = true
Run Code Online (Sandbox Code Playgroud)
我希望{{> hello}}模板可以渲染,但没有运气.我刚收到{{> goodbye}}模板.这是奇怪的,因为我有其他项目,我已成功完成此任务.我必须在这里遗漏一些明显的东西.
我一直在使用Meteor应用程序几个月.这是我第一次尝试运行流星应用程序,安装通过(curl https://install.meteor.com |/bin/sh)或运行meteor update,我收到此错误:
module.js:340
throw err;
^
Error: Cannot find module 'fibers'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (/usr/local/meteor/app/meteor/meteor.js:1:75)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.runMain (module.js:492:10)
Run Code Online (Sandbox Code Playgroud)
在过去我会得到随机的js错误并重新安装会修复,但我甚至无法运行安装程序或立即更新.也许它与0.6有关.感谢您的任何见解!
我正在与Meteor合作一款宾果游戏.我现在收到一个错误,因为它在JS文件中(我正在写咖啡),我不知道它来自哪里.
这是完整的错误:
ReferenceError: Console is not defined
at app/Bingo.coffee.js:465:12
at run (/Users/ppedrazzi/Dropbox/Paul's Stuff/MyApps/Meteor/bingo/.meteor/local/build/server/server.js:283:63)
at Array.forEach (native)
at Function._.each._.forEach (/usr/local/meteor/lib/node_modules/underscore/underscore.js:79:11)
at run (/Users/ppedrazzi/Dropbox/Paul's Stuff/MyApps/Meteor/bingo/.meteor/local/build/server/server.js:283:7)
Run Code Online (Sandbox Code Playgroud)
我已将咖啡和html文件放在一个要点:https: //gist.github.com/ppedrazzi/5303493
感谢您的任何见解!!
我有一个Meteor使用{{#each}}块显示的文档列表(待办事项).每个待办事项列表项使用它的文档ID作为HTML元素ID.我试图使用JQuery来修改单击时的类结构.
这是HTML:
<div class="todos">
{{#each todos}}
<li id={{_id}} class="todo">{{description}} ({{complete}})</li>
{{/each}}
</div>
Run Code Online (Sandbox Code Playgroud)
当用户点击该项时,我触发一个Template.Event,在Mongo中将文档标记为"完成".我还希望将课程切换为"已完成"并更改样式.这是我的咖啡代码:
'click .todo': () ->
self = this
if Todos.findOne({_id: this._id}).complete is false
Todos.update({_id: this._id}, { $set: {complete: true}})
else
Todos.update({_id: this._id}, { $set: {complete: false}})
$("##{this._id}").toggleClass("completed")
Run Code Online (Sandbox Code Playgroud)
我已经验证我正在获得正确的JQuery对象,但由于某种原因我无法操纵该类.我也试过没有运气使用addClass.我想知道是否有一些流星重新渲染可能会导致我的问题.